爬虫构建
回顾以上的接口分析过程,整个对我们有用的请求过程是,浏览器发送一个GET请求,直接获取到了我们想要的数据页面。
那么如何通过python代码复现以上的请求过程呢?
对于这样的简单爬虫,我们可以通过requests库里面提供的方法,发送请求,获取到接口响应。
以下是整个爬虫的代码
import requests
url = 'https://top.baidu.com/board?tab=realtime'
response = requests.get(url=url)
print(response.status_code)
print(response.text)
with open('hot.html', 'w+', encoding='utf8') as s:
s.write(response.text)
python的这个requests包非常有用,可以用于各种接口的请求。requests包功能全面,对于市面上能见到的大部分网络请求[http/https]都可以实现。后面的大部分爬虫项目,我都会通过这个包来发送请求。
requests库介绍
Requests库是一种用于发送HTTP请求的流行库。它提供了简单而强大的API,使发送GET、POST、PUT、DELETE等请求变得容易。
requests库是第三方库,我们在使用之前需要pip拉取一下,这里我通过清华大学的pip源设置拉取命令
pip install requests -i https://pypi.tuna.tsinghua.edu.cn/simple
requests 发送请求
import requests
response = requests.get(url, params=None, **kwargs)
url
: 要发送请求的URLparams
(可选): 一个字典或字节序列,作为请求参数发送到URL中**kwargs
: 可选参数,可以是headers、data、json等。
处理响应
response.status_code
response.content
response.text
response.json()
response.headers
总结
本篇文章对百度热搜的接口进行了分析,通过爬虫复现了请求过程,并获取到了热搜接口的响应结果[html页面源码]。爬虫的请求发送时通过python的第三方库requests实现的。本文介绍的requests的用法只是冰山一角,更多的requests库用法可以参考这篇文章
或者官方文档
文中使用到的接口分析技术其实就是我们俗称的抓包,由于本人的水平有限,我的抓包过程描述可能不是很清晰,更多的抓包技巧与训练,我们可以参考这篇文章谷歌浏览器抓包。
如果你还有其他的问题,欢迎给我私信。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)