爬虫入狱笔记——xx政府网站公开政策数据

2024-04-08 09:28

本文主要是介绍爬虫入狱笔记——xx政府网站公开政策数据,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

最近在学习爬虫,做个笔记吧

图片

今天爬xx政府网站-政策法规栏目的数据 

图片

咱们首先需要找到数据从哪里来,鼠标右键->检查(或者快捷键一般为F12)检查元素,搜索关键词

eg.【违法案例】

回车,

如果没有的话,可以尝试刷新页面后重新回车搜索关键词

图片

图片

选中其中一个出现的搜索结果,

图片

图片

找到接口后,咱们看下是不是想要爬取的数据

图片

找到接口了,就是它 http://www.whggzy.com/portal/category 请求方法是POST

图片

接下来,咱们看下它的请求头Headers跟请求参数Data吧

1. Headers

图片

2. POST请求方法的Data:

图片

咱们到现在,直接按照这个Headers和Data构造,发送HTTP请求肯定没问题,但咱们要写爬虫代码,

第一步:看看Headers和Data里面哪些参数是必要的

第二步:有必要参数是加密的么【或者说,不能复制粘贴过来直接用的】

首先尝试下最基础的Referer和User-Agent够用不够用

图片

运行爬虫程序结果如下:

图片

咱们对照着Headers参数看看,可能是缺了Content-Type

加上后再次运行

图片

O了,成功获取数据,这边我把他保存到文件里了,方便截屏给各位读者朋友看

图片

Headers和Data中,没啥加密的,就一个时间戳_t会变,咱们再修改下代码,生成时间戳吧

注意:这里的时间戳要注意位数,原本的时间戳是13位的,咱们这里也得和它一样

图片

运行后没得问题,能拿到数据

图片

视频教程里,在确定Headers里必要的参数时,是采取的调试JS代码的方式,我这边是直接通过程序返回的结果判断了少Content-Type

这里,我也调试下JS代码,练练手。请各位看官看看吧。

图片

咱们按照JS调试中获得的headers参数,修改下爬虫代码试试看

  1.  搜索路径 /portal/category

  2. 添加XHR断点,刷新页面,单步调试,直到出现headers

    图片

图片

图片

也可以成功获得数据

这篇关于爬虫入狱笔记——xx政府网站公开政策数据的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/885194

相关文章

python库pydantic数据验证和设置管理库的用途

《python库pydantic数据验证和设置管理库的用途》pydantic是一个用于数据验证和设置管理的Python库,它主要利用Python类型注解来定义数据模型的结构和验证规则,本文给大家介绍p... 目录主要特点和用途:Field数值验证参数总结pydantic 是一个让你能够 confidentl

JAVA实现亿级千万级数据顺序导出的示例代码

《JAVA实现亿级千万级数据顺序导出的示例代码》本文主要介绍了JAVA实现亿级千万级数据顺序导出的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 前提:主要考虑控制内存占用空间,避免出现同时导出,导致主程序OOM问题。实现思路:A.启用线程池

SpringBoot分段处理List集合多线程批量插入数据方式

《SpringBoot分段处理List集合多线程批量插入数据方式》文章介绍如何处理大数据量List批量插入数据库的优化方案:通过拆分List并分配独立线程处理,结合Spring线程池与异步方法提升效率... 目录项目场景解决方案1.实体类2.Mapper3.spring容器注入线程池bejsan对象4.创建

PHP轻松处理千万行数据的方法详解

《PHP轻松处理千万行数据的方法详解》说到处理大数据集,PHP通常不是第一个想到的语言,但如果你曾经需要处理数百万行数据而不让服务器崩溃或内存耗尽,你就会知道PHP用对了工具有多强大,下面小编就... 目录问题的本质php 中的数据流处理:为什么必不可少生成器:内存高效的迭代方式流量控制:避免系统过载一次性

C#实现千万数据秒级导入的代码

《C#实现千万数据秒级导入的代码》在实际开发中excel导入很常见,现代社会中很容易遇到大数据处理业务,所以本文我就给大家分享一下千万数据秒级导入怎么实现,文中有详细的代码示例供大家参考,需要的朋友可... 目录前言一、数据存储二、处理逻辑优化前代码处理逻辑优化后的代码总结前言在实际开发中excel导入很

MyBatis-plus处理存储json数据过程

《MyBatis-plus处理存储json数据过程》文章介绍MyBatis-Plus3.4.21处理对象与集合的差异:对象可用内置Handler配合autoResultMap,集合需自定义处理器继承F... 目录1、如果是对象2、如果需要转换的是List集合总结对象和集合分两种情况处理,目前我用的MP的版本

GSON框架下将百度天气JSON数据转JavaBean

《GSON框架下将百度天气JSON数据转JavaBean》这篇文章主要为大家详细介绍了如何在GSON框架下实现将百度天气JSON数据转JavaBean,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录前言一、百度天气jsON1、请求参数2、返回参数3、属性映射二、GSON属性映射实战1、类对象映

C# LiteDB处理时间序列数据的高性能解决方案

《C#LiteDB处理时间序列数据的高性能解决方案》LiteDB作为.NET生态下的轻量级嵌入式NoSQL数据库,一直是时间序列处理的优选方案,本文将为大家大家简单介绍一下LiteDB处理时间序列数... 目录为什么选择LiteDB处理时间序列数据第一章:LiteDB时间序列数据模型设计1.1 核心设计原则

Java+AI驱动实现PDF文件数据提取与解析

《Java+AI驱动实现PDF文件数据提取与解析》本文将和大家分享一套基于AI的体检报告智能评估方案,详细介绍从PDF上传、内容提取到AI分析、数据存储的全流程自动化实现方法,感兴趣的可以了解下... 目录一、核心流程:从上传到评估的完整链路二、第一步:解析 PDF,提取体检报告内容1. 引入依赖2. 封装

MySQL中查询和展示LONGBLOB类型数据的技巧总结

《MySQL中查询和展示LONGBLOB类型数据的技巧总结》在MySQL中LONGBLOB是一种二进制大对象(BLOB)数据类型,用于存储大量的二进制数据,:本文主要介绍MySQL中查询和展示LO... 目录前言1. 查询 LONGBLOB 数据的大小2. 查询并展示 LONGBLOB 数据2.1 转换为十