Python爬虫获取接口数据
-
- 正常人的操作
- 爬虫的思路
-
- 标题获取请求信息
- 标题请求转换为代码
- 完整代码
- 请求返回信息
- 执行程序
获取静态网页数据的教程,适用于我们要爬取的数据在网页源代码中出现,但是还是有很多的数据是源代码中没有的,需要通过接口访问服务器来获得,下面我就来讲讲如何爬取这类数据。
以巨潮资讯网爬取比亚迪企业年报为例。
正常人的操作
- 打开巨潮资讯网官网
- 找到比亚迪的公告
- 在分类里面选择筛选信息,找到自己想要的信息
爬虫的思路
标题获取请求信息
在正常人的操作第三步,当我们选择一个类别时,毫无疑问浏览器肯定会对服务器发送请求信息,服务器返回信息后我们才能看到想要的信息,看一下怎么获取这个请求:
访问巨潮资讯网
按下F12或者是右键检查,进入网络,先清空乱七八糟的网络信息
当我们选择一个类别时会看到右边多出一个query请求,这个就是我们向服务器发出的请求
我们可以查看query这条请求的信息
标题请求转换为代码
上一步我们获取到了请求信息,我们就可以使用python造一个请求头,主要包含请求头和请求负载,我们荡当然可以使用比较奔的方法一个一个的复制粘贴,把东西搬到代码上,这里推荐一个工具能自动帮我们把请求格式化我们想要的
把请求复制下来
在Curl命令转代码工具 (sbox.cn)这个在线网站添加链接描述可以直接转换为python代码
完整代码
import requests
cookies = {
'JSESSIONID': 'CAD9F65CD46FDD1F77B67CFC6402D040',
'SF_cookie_4': '27783614',
'insert_cookie': '37836164',
'_sp_ses.2141': '*',
'routeId': '.uc1',
'_sp_id.2141': '1daed846-960d-4bc8-8264-49d6e32f05e9.1710837792.1.1710837937.1710837792.751f332b-bf90-48ab-b50a-bf568067731e',
'SID': '44cda023-0192-4967-a51a-18a09faa35e7',
'cninfo_user_browse': '002594,gshk0001211,%E6%AF%94%E4%BA%9A%E8%BF%AA',
}
headers = {
'Accept': 'application/json, text/javascript, */*; q=0.01',
'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8',
'Connection': 'keep-alive',
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
# 'Cookie': 'JSESSIONID=CAD9F65CD46FDD1F77B67CFC6402D040; SF_cookie_4=27783614; insert_cookie=37836164; _sp_ses.2141=*; routeId=.uc1; _sp_id.2141=1daed846-960d-4bc8-8264-49d6e32f05e9.1710837792.1.1710837937.1710