和lxml一样,BeautifulSoup也是一个HTML/XML的解析器,主要的功能也是解析和提取HTML/XML数据。

lxml只会局部遍历,而BeautifulSoup是基于HTML DOM的,它会加载整个文档,解析整个DOM树,因此在时间和内存上也会有很大的开销,所以性能要低于lxml。

BeautifulSoup用来解析HTML比较简单,其API设计的非常人性化,同时BeautifulSoup也支持CSS选择器、Python标准库中的HTML解析器、lxml的XML。

阅读全文 »

Xpath语法和lxml模块

什么是XPath?

xpath (XML Path Language)是一门在XML和HTML文档中查找信息的语言,可用来在XML和HTML文档中对元素和属性进行遍历。

阅读全文 »

在Python中有着这样一个常用的、基础的爬虫库。在Python2中为urllib.urllib,在Python3中官方为了便于管理,将和请求有关的函数封装进了urllib.request模块中。

在此处,使用Python3做记录。

阅读全文 »

使用Cython保护Python代码库

从语言层面来说,Cython是一种拓展的Python,其文件的扩展名为.pyx。这种类型的文件通过编译之后可以变成供Python直接调用的动态链接库(Linux/Mac下是.so,Windows下是.pyd)。根据官方文档,主要如下几编译方式:

  • (推荐) 通过setup.py中调用Cython.Build进行编译
  • 使用pyximport调用.pyx文件,这种方法.pyx文件相当于普通的.py文件
  • 在命令行使用cython命令从.pyx文件生成.c文件,再使用外部编译器将.c文件编译成Python可用的库
  • 使用Jupyter Notebook或者Sage Notebook直接运行Cython代码
阅读全文 »

PG数据库:

理解:对于PostgreSQL数据库,我个人理解为和MySQL数据库很相识,比MySQL功能多,在pg数据库中,用户可以指定表集合,这点和mongodb很像。

模式(架构):是指定的表集合,它还可以包含视图、索引、序列、数据类型、运算符和函数.

阅读全文 »

git整理:

工作区中的.git目录为Git版本库,git add将文件提交到暂存区,git commit将文件提交到本地仓库,git push将文件提交到远程仓库。

阅读全文 »

Docker 中的三个基本概念

  • 镜像(Image)
  • 容器(Container)
  • 仓库(Repository)
阅读全文 »
0%