第0周:网络爬虫之前奏
1.导读
2.python开发工具的选择
文本工具类:idle:包含交互式和文件式,适合少量代码(入门级)、Sublime Text:专门为程序员开发使用的第三方专用编程工具、Notpad++
集成工具类:Wing、Visual Studio & PTVS、Eclips、Canopy(收费)、Anaconda & Spyder
科学计算、数据分析 Canopy(收费)、Anaconda\
第1周 网络爬虫之规则
内容:介绍requests库、robots.txt协议、实例
单元一:requests入门
1.requests
(1)
get方法
(2)response
type(r) 检测r的类型
r.headers 获得请求页面的头部信息
r.request.url 返回发给百度的url是什么
备选编码方式可以解决乱码
(3) 异常
(4)通用框架
2.http协议(为了更好的理解requests库)
(1)超文本传输协议
(2) http协议采用URL作为定位网络资源的标识
url格式
url是通过http存取资源的internet路径,一个url对应一个数据资源
(3)
3.具体学习requests
(1)访问控制参数了解
requests库的高级功能
可以向某一个连接提交一个文件
测试:任意找个url,测试一下成功爬取100次网页的时间。(避开那些对于连续爬取页面将采取屏蔽ip策略的网站)
import requests
url = "
starttime = datetime.datetime.now()
for i in range(100):
r = requests.get(url)
endtime = datetime.datetime.now()
print(endtime - starttime)
1.网络爬虫引发的问题
(1)骚扰问题、法律风险、隐私问题
(2)网络爬虫的限制
2.Robots协议--网络爬虫排除标准
作用:告知网络爬虫哪些页面可以抓取,哪些不行。
使用:在网站根目录下的robots.txt文件
基本语法:
案例:
3.Robots协议的遵守方式
(1)网络爬虫应该能自动或人工识别robots.txt,再进行内容爬取。
(2)robots协议是建议但非约束性,网络爬虫可以不遵守,但存在法律风险。
单元三:五个实例
注意 len(r.text) 返回长度
第二周