Reference:
第一周 网络爬虫之规则
单元1:Requests库入门
1-1 Requests库的安装
1-2 Requests库的get()方法
1-3 爬取网页的通用代码框架
1-4 HTTP协议与Requests库方法
注意:put与post的区别
1-5 Requests库主要方法解析
Requests库的7个主要方法
(一). requests库的request方法是所有方法的基础方法,它有三个参数,分别是:
method,url和控制访问参数----> requests.request(method,url,**kwargs)
method表示请求方式,对应get/put/post等7种
url指拟获取页面的url链接
**kwargs控制访问参数,共13个,均为可选项
(1)params
(2)data
(3)json
(4)headers
(5)cookies
(6)auth
(7)files
(8)timeout
(9)proxies
(10)allow_redirects
(11)stream
(12)verify
(13)cert
单元2:网络爬虫的“盗亦有道”
2-1 网络爬虫引发的问题
网络爬虫的尺寸
网络爬虫的“骚扰”(对服务器性能的骚扰)
服务器默认是按照人数来约定它的访问能力,但当有爬虫加入的时候,服务器可能很难提供那么高的性能。
网络爬虫的法律风险(内容层面)
服务器上的数据有产权归属,网络爬虫获取数据后牟利将带来法律风险。
网络爬虫的泄露隐私(个人隐私泄露)
网络爬虫可能具备突破简单访问控制的能力,获得被保护数据从而泄露个人隐私。
对于一般的服务器来说,可以用两种方式限制网络爬虫:
(1)如果网站的所有者具有一定的技术能力,可以通过来源审查来限制网络爬虫。
来源审查:判断User-Agent进行限制
检查来访HTTP协议头的User-Agent域,只响应浏览器或友好爬虫的访问。
(2)发布公告:Robots协议
告知所有爬虫 网站的爬取策略,要求爬虫遵守。
2-2 Robots协议=Robots Exclusion Standard 网络爬虫排除标准
作用:网站告知网络爬虫哪些页面可以抓取,哪些不行。
形式:在网站根目录下的robots.txt文件。通过基本语法告知网络爬虫,该网站内部资源可以被访问的权限。
规定:robots协议规定,如果一个网站不提供robots.txt文件,则说明这个网站允许所有爬虫无限制的爬取其内容。
Robots协议基本语法:
User-agent:*
Disallow:/
注释: * 代表所有,/ 代表根目录
案例:京东的Robots协议
https://www.jd.com/robots.txt
http://www.baidu.com/robots.txt 百度
http://news.sina.com.cn/robots.txt 新浪新闻
http://www.qq.com/robots.txt qq
http://news.qq.com.cn/robots.txt qq新闻
http://www.moe.edu.cn/robots.txt(无robots协议) 我国教育部的网站
2-3 Robots协议的遵守方式
robots协议的使用
网络爬虫:自动或人工识别robots.txt,再进行内容爬取。
约束性:Robots协议是建议但非约束性,网络爬虫可以不遵守,但存在法律风险。
TIPS.类人行为可以不参考Robots协议
单元3:Requests库网络爬虫实战(5个实例)
3-1 实例1:京东商品页面的爬取
STEP1. 打开京东页面,选取一款商品。比如:https://item.jd.com/4939144.html
通过写程序,获得该商品的相关信息。
STEP2. 全代码
3-2 实例2:亚马逊商品页面的爬取
对于一些保护的比较好的网站,通过模拟浏览器,发起请求。
3-3 实例3:百度/360搜索关键词提交
搜索引擎关键词提交接口:
百度的关键词接口: http://www.baidu.com/s?wd=keyword
360的关键词接口: http://www.so.com/s?q=keyword
在这两个接口中,只要我们替换keyword就可以向搜索引擎提交关键词,构造这样的url就可以实现关键词的提取。
3-4 实例4:网络图片的爬取和存储
网络图片的爬取
网络图片链接的格式:
http://www.example.com/picture.jpg
国家地理:http://www.nationalgeographic.com.cn/
选择一个图片Web页面:http://www.nationalgeographic.com.cn/photography/photo_of_the_day/4082.html 右键图片属性
http://image.nationalgeographic.com.cn/2017/0509/20170509021454807.jpg
3-5 实例5:IP地址归属地的自动查询
IP138网站 http://www.ip138.com/
http://m.ip138.com/ip.asp?ip=ipaddress 例如:202.204.80.112 北京理工大学网站