Python网络爬虫中常用第三方库总结
来源:互联网 发布:知乎 全员加速中 编辑:程序博客网 时间:2024/06/03 12:30
python对于爬虫的编写已经是相当的友好了,不过除了利用requests库或者scrapy框架之外,有一些库还需要我们知道,以便于我们更熟练、便捷的完成目标数据的爬取,接下来我就总结一下我认为在爬虫中常用的几个库。
一、re
re库是正则表达式库,是regex的缩写,用于从网页源码或者数据文件中提取我们所需的数据,具体使用方法如下:
①闯进过滤字符串的规定,一般用变量regex存储;
②将规则编译:pattern = re.compile(regex)
③使用规则进行查找:content = re.findall(pattern, html)
对于re库来说,最难的便是编写出相应的过滤规则,曾看到过这样一句话:如果一个问题你用了正则,那么就变成了两个问题。 接触过正则的也都知道它确实存在一定的难度性,下面是我对常用的符号用法的总结:
‘*’:匹配前面的子表达式零次或无数次;‘+’:匹配前面的子表达式一次或无数次;
‘.’:匹配除换行符\n以外的任何单字符;‘?‘:匹配前面的子表达式零次或一次;
’^':匹配输入字符串开始位置;‘$’:匹配输入字符串的结尾位置
‘\w':匹配字母、数字、下划线;’\d‘:匹配数字;
’\s':匹配空格;反义:将前面的字母改为大写,即指原义的反义;
‘{n}’:重复n次;‘{n,m}’:重复n到m次;
‘{n, }':重复n次或更多次;’?<=exp‘:匹配exp后的信息;如 How are you:(?<txt>(?<=How).+)
‘(?=exp)’:匹配exp前面的位置,如 How are you doing:(?<txt>.+(?=ing)) 这里取ing前所有字符,并定义txt为捕获分组名。
二、json
三、xpath
item['workType'] = data.xpath('./td[2]/text()').extract()[0]
xpath提取例子:四、threading
五、multiprocessing
六、pymysql
七、mechanize
#optionsbr.set_handle_equiv(True)#br.set_handle_gzip(True)br.set_handle_redirect(True)br.set_handle_referer(True)br.set_handle_robots(False)#Follows refresh 0 but not hangs on refresh > 0br.set_handle_refresh(mechanize._http.HTTPRefreshProcessor(), max_time=1)br.set_debug_http(True)br.set_debug_redirects(True)br.set_debug_responses(True)
八、readability
- Python网络爬虫中常用第三方库总结
- python爬虫常用第三方库
- Python网络爬虫——Requests第三方库
- 常用Python第三方库
- 常用Python第三方库
- iOS总结 cocopods中常用的第三方库
- 常用的几个第三方 Python 库
- 常用的几个第三方 Python 库
- 常用Python第三方库 简介
- 常用Python第三方库 简介
- 常用的几个第三方 Python 库
- 常用Python第三方库 简介
- 常用的几个第三方 Python 库
- python常用的第三方库
- 常用Python第三方库[转载]
- 常用Python第三方库 简介
- 常用Python第三方库 简介
- Python常用的第三方库
- Ubuntu命令合集(二)
- HashMap v.s. 动态规划
- 一张图看懂小程序全生态
- class 类练习4 简单交互 / 复杂交互 / list / list的遍历
- List 使用记录
- Python网络爬虫中常用第三方库总结
- [Leetcode][python]Triangle
- jdk1.8就带有的Lambda表达式,现在1.9都发布了你不会还没用过吧
- 监控/触发text input变化的事件大全,总有一个会命中
- Class类练习 5. 藉由关系的实现 / 时间的处理
- 斯堪的纳维亚电力电子之旅
- DynamicFusion: Reconstruction and Tracking of Non-rigid scenes in real-time
- 搭建ssm框架
- 考研英语