目录
简单的爬虫架构:
网页下载器:
URL管理器:
网页解析器:
网页下载器requests:
发送requests请求:
接收requests请求:
requests操作实例:
简单的爬虫架构:
网页下载器:
负责通过URL将网页进行下载,主要是进行相应的伪装处理模拟浏览器访问、下载网页
URL管理器:
负责URL的管理,包括带爬取和已爬取的URL、已经提供相应的接口函数(类似增删改查的函数)
网页解析器:
负责网页信息的解析,这里是解析方式视具体需求来确定
网页下载器requests:
Requests是一个优雅的,简单的Python HTTP库,常常用于爬虫对网页中的内容下载;
安装:pip install requests
发送requests请求:
requests.get/post(url,params,data,headers,timeout,verify,allow_redirects,cookies)
- url:要下载的目标网页的url地址
- params:字典形式,用于设置url后面的参数,比如 ?id=123&name=peiqi
- data:字典或者字符串,一般用于post方法时提交数据
- headers:设置user-agent,refer等请求头
我们的爬虫会默认向服务器发送爬取请求,而一般情况下网站是不允许被爬虫访问的,输出的text信息中会出现抱歉,无法访问等。我通过更改User-Agent等可以实现网站请求。
- timeout:超时时间,秒为单位
- verify:True/False,是否进行HTTP证书验证,默认是,需要自己设置证书地址
- allow_redirects:True或False是否做重定向处理,默认为是
- cookies:附带本地的cookies数据
接收requests请求:
r = requests.get/post(url)
- r.status 查看请求状态码,200代表请求成功
- r.status_code 查看网页编码,也可以修改编码,防止出现乱码情况
- r.encoding
- r.text 查看网页返回的内容
- r.headers 查看返回的HTTP的headers
- r.url 查看实际访问的url
- r.content 以字节的方式返回内容,比如用于下载网页中的图片
- r.cookies 服务器端写入本地的cookies数据
requests操作实例:
我们用ipython进行简单的requests操作,先导入requests(import requests),然后我们以百度的url地址来进行访问(www.baidu.com)