0. 预备知识
(1) 本课程是课程《Python网络爬虫与数据分析》的上半部分。
(2) 本课程需要先修课程《Python语言程序设计》(至少完成前四周学习)。
1. Requests库入门
(1) Requests库的安装第一步
第二步
(2) Requests库的get()方法
① r = requests.get(url)
② 完整使用方法:r = requests.get(url,params=None,**kwargs)
url:拟获取页面的url连接。
params:url中的额外参数(字典或字节流格式)。
**kwargs:12个控制访问的参数。
③ Response对象:包含服务器返回的所有信息,也包含请求的Request信息。
(3) 爬取网页的通用代码框架
① Requests库的异常
② r.raise_for_status() 方法
(4) HTTP协议(超文本传输协议)
① HTTP是一个基于“请求与响应”模式的、无状态的应用层协议。
② HTTP协议采用URL作为定位网络资源的标识。
③ URL格式:http://host[:port][path]
host:合法的Internet主机域名或IP地址。
port:端口号,缺省端口为80。
path:请求资源的路径。
④ HTTP URL实例
http://www.bit.edu.cn
http://220.181.111.188/duty
⑤ HTTP URL的理解:URL是通过HTTP协议存取资源的Internet路径,一个URL对应一个数据资源。
⑥ HTTP协议对资源的操作
(5) Requests库主要方法解析
① 主要方法(7个)
② 主要方法的参数
③ 参数:method(6个)/ **kwargs(13个)
2. 网络爬虫的“盗亦有道”
(1) Robots协议(网络爬虫排除标准)
① 作用:网站告知网络爬虫哪些页面可以抓取,哪些不行。
② 形式:在网站根目录下的robots.txt文件。
③ 案例:百度(https://www.baidu.com/robots.txt)
(2) Robots协议的使用
① 网络爬虫:自动或人工识别robots.txt,再进行内容爬取。
② 约束性:Robots协议是建议但非约束性,网络爬虫可以不遵守,但存在法律风险。
3. Requests库网络爬虫实战(5个实例)
(1) 京东商品页面的爬取代码
运行效果
(2) 亚马逊商品页面的爬取代码
(3) 360搜索关键词提交
【注】 360的关键词API:https://www.so.com/s?q=keyword代码
运行效果
(4) 网络图片的爬取和存储
【注】 网络图片链接的格式:http://www.example.com/picture.jpg代码
运行效果
保存的文件和路径
(5) IP地址归属地的自动查询
【注】 API:http://ip.ws.126.net/ipquery?ip=paddress代码
运行效果
《Python网络爬虫与信息提取》(第1周)