文章目录[x]
- 1:常见请求头:
- 2:状态响应码
- 3:str bytes 的转化
- 4:Requests使用
因为报了蓝桥杯的缘故,最近一直在学Java,python爬虫只能抽时间记一下笔记。
爬虫的定义
网络爬虫(又被称为网页蜘蛛,网络机器人)就是模拟客户端发送网络请求,接收请求响应,一种按照一定的规则,自动地抓取互联网信息的程序。
理论上只要服务器能干的事爬虫都能干
- 爬虫的的分类
通用爬虫 :通常指搜索引擎的爬虫
聚焦爬虫 :针对特定网站的爬虫
- ROBOTS协议
一个道德层面的约束协议,告诉搜索引擎什么让爬,什么不让爬。
常见请求头:
1. Host (主机和端口号)
2. Connection (链接类型)
3. Upgrade-Insecure-Requests (升级为HTTPS请求)
4. User-Agent (浏览器名称)
5. Accept (传输文件类型)
6. Referer (页面跳转处)
7. Accept-Encoding(文件编解码格式)
8. Cookie (Cookie)
9. x-requested-with :XMLHttpRequest (是Ajax 异步请求)
可以看一下百度的请求头
状态响应码
200:成功
302:临时转移至新的url
307:临时转移至新的url
404:not found
500:服务器内部错误
str bytes 的转化
- str 使用encode方法转化为 bytes
- bytes通过decode转化为str
- 编码方式解码方式必须一样,否则就会出现乱码
Requests使用
安装 在这里不多说,主要是pip安装(镜像源太慢的话,可以增加一个-i参数)和手动安装(需要下载项目,用python3 setup.py install安装)
简单请求:
response = requests.get(url)
response的常用方法:
response.text
respones.content
response.status_code
response.request.headers
response.headers
这里常见的编码格式有'GBK' 'GBK1312' 'GBK18030'等
这里说一下response.text 和response.content的区别
response.text
类型:str
解码类型: 根据HTTP 头部对响应的编码作出有根据的推测,推测的文本编码
如何修改编码方式:response.encoding=”gbk”
response.content
类型:bytes
解码类型: 没有指定 如何修改编码方式:response.content.deocde(“utf8”)
下面是写的一个爬取贴吧的