目录
1.谷歌浏览器开发者模式
2.requests库获取静态网页数据
3.requests库获取动态网页信息
4.urllib获取网页数据
1.谷歌浏览器开发者模式
如何打开:F12/右键检查(或快捷键CTRL+Shift+i)调出
开发者工具最常用的四个功能模块:元素,控制台,源代码,网络.
元素(Elements):用于查看HTML元素
网络(network): 网络页面主要用于查看header等与网络连接相关的信息.
2.requests库获取静态网页数据
requests库
生成请求:
在使用get获得网络请求后会获得一个response对象
response对象的5个属性:
Get 方法获取网上资源的时候会有以下两种状态:
- 请求头设置
访问网站时如果网站报400的错误,说明网站有反爬虫策略,通常通过设置headers中的USER-Agent解决(header是个字典的形式,里面有Key,和对应的Value值):
- Timeout设置
目的:避免因等待服务器响应而造成永远失去响应.(设置应该合理,减少等待时间)
- 生成完整的HTTP请求
完整HTTP请求:链接,请求头,超时时间,状态码,正确的编码格式
3.requests库获取动态网页信息
- 静态网页:网页内容和HTML源码一致
- 动态网页:网页内容和HTML源码不一致
判断网页类型的方法:
- 右击,查看网页源代码
- F12,开发者工具查看源代码
若1,2相同则是静态网页,若1,2不相同则是动态网页
在网页数据获取前先确定是什么网页类型,动态网页数据获取要找到正确的网页地址.
4.urllib获取网页数据
- urllib库
urllib库是python内置的HTTP请求库
urllib库在python2和python3中有所不同
在python2中:import urllib2
在python3中:import urllib.request
- urllib库爬取一个网页
- urlopen()方法的参数
用urlopen()方法进行网页页面的爬取
- urlopen()参数的使用
- data参数:
必须是一个bytes对象
必须是标准格式,使用urllib.parse.urlencode()进行格式准换
默认值为None
发送post请求时,data参数必须有
- timeout参数:
超时时间
单位为秒
使用代理时,查看代理的状态