网络爬虫
凡凡不知所错
I hate being kept in the dark
展开
-
Python3网络爬虫(一)
爬虫可以简单分为几步:抓取页面、分析页面、存储数据。在第一步的抓取页面的时候,我们需要模拟成浏览器的样子来向服务器发送请求,所以需要用到Requests、Selenium、Aiotttp 等第三方库来实现HTTP请求:1. Selenium: 这是一个自动化测试工具,我们可以使用它执行一些特定的动作比如点击,下拉等操作,特别是对于JS渲染的页面,该方法会非常有效。2. ChromeDrive...原创 2019-01-03 17:13:14 · 339 阅读 · 0 评论 -
Requests爬虫库状态码
下面是状态码以及对应的查询条件:# Informational.100: ('continue',),101: ('switching_protocols',),102: ('processing',),103: ('checkpoint',),122: ('uri_too_long', 'request_uri_too_long'),200: ('ok', 'okay', 'all...原创 2019-01-04 09:18:41 · 1102 阅读 · 0 评论 -
Python3网络爬虫(二) -- 使用更好用的Requests爬虫库
上一章我们使用Urllib来写网络爬虫,但是我们能发现,他的功能不是很足,因为比如网页验证,处理cookies等功能需要opener和handler来实现。现在我们使用更加强大的爬虫库Requests首先安装这个库在urllib库中,我们使用urlopen来请求网页,但是实际上就是使用了一个GET方法来请求网页,在requests中,直接使用get()方法:import requestsr...原创 2019-01-07 11:22:33 · 454 阅读 · 0 评论 -
Python3网络爬虫(三) -- 使用代理,轮换使用各种IP访问,忽略限制
对于一些网站,一开始能请求,但是时间久了,网站有可能会封ip,Requests库对此的解决办法:import requestsproxies = { 'http': 'http://10.10.1.10:3128', 'https': 'http://10.10.1.10:1080',}requests.get('https://www.taobao.com', proxies=...原创 2019-01-07 11:31:54 · 1207 阅读 · 0 评论 -
Python3网络爬虫(四) --正则表达式
正则表达式是处理字符串的强大工具,可以实现字符串的检索,替换,匹配等等,首先我们可以使用一个正则测试工具:http://tool.oschina.net/regex/符号说明\w匹配字母数字及下划线\W匹配非字母数字及下划线\s匹配任意空白字符,等价于 [\t\n\r\f]\S匹配任意非空字符\d匹配任意数字,等价于 [0-9]\D匹...原创 2019-01-07 14:28:57 · 210 阅读 · 0 评论 -
Python3网络爬虫(六) -- 数据储存之文件储存
使用TXT文本储存例子:这个例子使用pyquery解析库进行解析import requestsfrom pyquery import PyQuery as pqurl = 'https://www.zhihu.com/explore'headers = { 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3...原创 2019-01-17 18:18:37 · 250 阅读 · 0 评论 -
Python3网络爬虫(五) -- 爬虫解析库LXML、BeautifulSoup、PyQuery
解析库会按照层次来提取,所以效率会大大的提升XPath(LXML):首先先安装LXML库常用规则:表达式用法nodename选取此节点的所有子节点/从当前节点选取直接子节点//从当前节点选取子孙节点.选取当前节点…选取当前节点的父节点@选取属性例子://title[@lang=’eng’] 表示所有标签为title,并且l...原创 2019-01-15 14:29:25 · 948 阅读 · 0 评论 -
Python3网络爬虫(七) --Ajax数据爬取
我们使用Requests爬取数据的时候,得到的结果可能和预期不一样,因为在浏览器里面看到的正常显示的数据,不在request结果里面,这是因为页面的数据来源有很多种,其中一种就是通过Ajax加载的。Ajax即一种异步加载数据的方式,原始的页面不会包含数据,原始页面加载完毕后,会向服务器请求接口获取数据,然后数据被处理再显示在页面上。现在的趋势是,原始HTML不包含任何数据,数据都是通过Ajax统...原创 2019-01-22 16:55:26 · 394 阅读 · 0 评论