Python爬虫获取接口数据

news/2024/7/19 9:47:57 标签: python, 爬虫, 开发语言

Python爬虫获取接口数据

    • 正常人的操作
    • ​​​​​​​​​​爬虫的思路
      • 标题获取请求信息
    • 标题请求转换为代码
    • 完整代码
    • 请求返回信息
    • 执行程序

获取静态网页数据的教程,适用于我们要爬取的数据在网页源代码中出现,但是还是有很多的数据是源代码中没有的,需要通过接口访问服务器来获得,下面我就来讲讲如何爬取这类数据。

以巨潮资讯网爬取比亚迪企业年报为例。

正常人的操作

  1. 打开巨潮资讯网官网
  2. 找到比亚迪的公告
  3. 在分类里面选择筛选信息,找到自己想要的信息
    在这里插入图片描述

​​​​​​​​​​爬虫的思路

标题获取请求信息

在正常人的操作第三步,当我们选择一个类别时,毫无疑问浏览器肯定会对服务器发送请求信息,服务器返回信息后我们才能看到想要的信息,看一下怎么获取这个请求:
访问巨潮资讯网
按下F12或者是右键检查,进入网络,先清空乱七八糟的网络信息
在这里插入图片描述
在这里插入图片描述
当我们选择一个类别时会看到右边多出一个query请求,这个就是我们向服务器发出的请求
在这里插入图片描述
我们可以查看query这条请求的信息

标题请求转换为代码

上一步我们获取到了请求信息,我们就可以使用python造一个请求头,主要包含请求头和请求负载,我们荡当然可以使用比较奔的方法一个一个的复制粘贴,把东西搬到代码上,这里推荐一个工具能自动帮我们把请求格式化我们想要的

把请求复制下来
在这里插入图片描述

在Curl命令转代码工具 (sbox.cn)这个在线网站添加链接描述可以直接转换为python代码
在这里插入图片描述

完整代码

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

http://www.niftyadmin.cn/n/5440267.html

相关文章

Go环境变量配置,及GOROOT、GOPATH的区别

一、安装Go go下载地址: https://golang.google.cn/dl/ windows下载安装,有两种方式。解压和直接安装 方式一:直接下载安装包。以.msi结尾的文件。例如: go1.22.1.windows-amd64.msi 下载后,双击后一直点下一步即…

springboot集成easy-exel 简单使用

1、导入依赖 <!-- easyexcel --> <dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>3.2.1</version> </dependency> <!-- easyexcel --> 2、导出对象 Data ExcelIgnore…

Flutter Widget:State 状态管理

响应式的编程框架永恒的主题——“状态(State)管理” 无论是在 React/Vue/Flutter 中讨论的问题和解决的思想都是一致的。 StatefulWidget的状态应该被谁管理&#xff1f;Widget本身&#xff1f;父 Widget &#xff1f;都会&#xff1f;还是另一个对象&#xff1f; 下面是官…

深入理解Ubuntu22:探索Linux操作系统的功能与应用

一、linux &#xff08;一&#xff09;、安装 1、电脑可以安装双系统&#xff0c;即在一套硬件上只能同时运行一个操作系统&#xff0c;例&#xff1a;C盘安装win&#xff0c;D盘安装linux。 2、虚拟机 虚拟机需要硬件支持&#xff0c;并需开启VT-x. 如&#xff1a;Virtual…

java毕业设计 | springboot+vue游戏交流网站(附源码)

1&#xff0c; 概述 本次的毕业设计主要就是在基于Java语言平台下设计并开发一个游戏网站系统软件。运用当前Google提供的Java来实现对游戏信息和游戏道具查询。当然使用的数据库是Mysql。尽管没有面向对象的数据库的作用强大&#xff0c;但是在Java开发上还是比较的灵活和方便…

如何在三个简单步骤中为对象检测标注图像

初始通过彻底清洗和处理原始图像数据来奠定有效对象检测注释的基础。选择适合的工具、方法和清晰的注释过程指南来建立注释工作空间。通过在图像中划定对象并附上类别标签来执行注释&#xff0c;随后进行细致的核验&#xff0c;以确保数据集的精确性和完整性。 图像注释是计算…

【一起学Rust | 基础篇】rust线程与并发

文章目录 前言一、创建线程二、mpsc多生产者单消费者模型1.创建一个简单的模型2.分批发送数据3. 使用clone来产生多个生产者 三、共享状态&#xff1a;互斥锁1. 创建一个简单的锁2. 使用互斥锁解决引用问题 前言 并发编程&#xff08;Concurrent programming&#xff09;&#…

武汉星起航:依托亚马逊自营丰富经验,引领跨境电商行业创新潮流

在全球化的今天&#xff0c;跨境电商正以其独特的魅力改变着传统的国际贸易格局。在这场全球商业的深刻变革中&#xff0c;武汉星起航电商公司以其深耕亚马逊自营店铺的丰富经验&#xff0c;成功突破市场瓶颈&#xff0c;为合作伙伴创造了更广阔的全球市场机遇&#xff0c;引领…