|
|
@@ -53,21 +53,36 @@
|
|
|
2. URL参数和请求头。
|
|
|
3. 复杂的POST请求(文件上传)。
|
|
|
4. 操作Cookie。
|
|
|
+5. 设置代理服务器。
|
|
|
+6. 超时设置。
|
|
|
|
|
|
-### 三种采集方式
|
|
|
+> 说明:关于requests的详细用法可以参考它的[官方文档](http://docs.python-requests.org/zh_CN/latest/user/quickstart.html)。
|
|
|
|
|
|
-#### 三种采集方式的比较
|
|
|
+### 四种采集方式
|
|
|
+
|
|
|
+#### 四种采集方式的比较
|
|
|
|
|
|
| 抓取方法 | 速度 | 使用难度 | 备注 |
|
|
|
| ---------- | --------------------- | -------- | ------------------------------------------ |
|
|
|
| 正则表达式 | 快 | 困难 | 常用正则表达式<br>在线正则表达式测试 |
|
|
|
| lxml | 快 | 一般 | 需要安装C语言依赖库<br>唯一支持XML的解析器 |
|
|
|
| Beautiful | 快/慢(取决于解析器) | 简单 | |
|
|
|
+| PyQuery | 较快 | 简单 | Python版的jQuery |
|
|
|
|
|
|
> 说明:Beautiful的解析器包括:Python标准库(html.parser)、lxml的HTML解析器、lxml的XML解析器和html5lib。
|
|
|
|
|
|
#### BeautifulSoup的使用
|
|
|
|
|
|
-1. 遍历文档树。
|
|
|
-2. 五种过滤器:字符串、正则表达式、列表、True、方法。
|
|
|
+1. 遍历文档树
|
|
|
+ - 获取标签
|
|
|
+ - 获取标签属性
|
|
|
+ - 获取标签内容
|
|
|
+ - 获取子(孙)节点
|
|
|
+ - 获取父节点/祖先节点
|
|
|
+ - 获取兄弟节点
|
|
|
+2. 搜索树节点
|
|
|
+ - find / find_all:字符串、正则表达式、列表、True、函数或Lambda。
|
|
|
+ - select_one / select:CSS选择器
|
|
|
+
|
|
|
+> 说明:更多内容可以参考BeautifulSoup的[官方文档]()。
|
|
|
|