当前位置: 首页 > news >正文

爬虫入狱笔记——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

    图片

图片

图片

也可以成功获得数据

相关文章:

  • [挖坟]如何安装Shizuku和LSPatch并安装模块(不需要Root,非Magisk)
  • Samba实现windows和Linux共享文件,环境搭建
  • python爬虫学习第十六天--------URLError和HTTPError、cookie登录、Handler处理器
  • 第六篇: 3.5 性能效果 (Performance)- IAB/MRC及《增强现实广告效果测量指南1.0》
  • 目标 url 存在 host 头攻击漏洞
  • C++中的vector与C语言中的数组的区别
  • 【大数据】安装hive-3.1.2
  • 服务器主机安全受到危害的严重性
  • zheng项目:从零到一打造全方位J2EE企业级开发解决方案
  • 每日一题:三数之和
  • 深度学习学习日记4.7
  • 基于R语言地理加权回归、主成份分析、判别分析等空间异质性数据分析教程
  • 1、java语法入门(找工作版)
  • LeetCode 2415. 2415. 反转二叉树的奇数层
  • 鸿蒙HarmonyOS 与 Android 的NDK有什么不一样?
  • 【Leetcode】101. 对称二叉树
  • Google 是如何开发 Web 框架的
  • [译] 怎样写一个基础的编译器
  • 2017前端实习生面试总结
  • Apache的基本使用
  • Python3爬取英雄联盟英雄皮肤大图
  • react 代码优化(一) ——事件处理
  • vue-router的history模式发布配置
  • 阿里云ubuntu14.04 Nginx反向代理Nodejs
  • 读懂package.json -- 依赖管理
  • 服务器从安装到部署全过程(二)
  • 面试总结JavaScript篇
  • 微信小程序实战练习(仿五洲到家微信版)
  • 文本多行溢出显示...之最后一行不到行尾的解决
  • 要让cordova项目适配iphoneX + ios11.4,总共要几步?三步
  • d²y/dx²; 偏导数问题 请问f1 f2是什么意思
  • mysql面试题分组并合并列
  • 专访Pony.ai 楼天城:自动驾驶已经走过了“从0到1”,“规模”是行业的分水岭| 自动驾驶这十年 ...
  • ​什么是bug?bug的源头在哪里?
  • #pragma预处理命令
  • (ctrl.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MDd_DynamicDebug”不匹配值“
  • (done) NLP “bag-of-words“ 方法 (带有二元分类和多元分类两个例子)词袋模型、BoW
  • (Redis使用系列) SpirngBoot中关于Redis的值的各种方式的存储与取出 三
  • (九)One-Wire总线-DS18B20
  • (力扣题库)跳跃游戏II(c++)
  • (收藏)Git和Repo扫盲——如何取得Android源代码
  • (循环依赖问题)学习spring的第九天
  • (原+转)Ubuntu16.04软件中心闪退及wifi消失
  • (转)jdk与jre的区别
  • (转)linux下的时间函数使用
  • .bat批处理(八):各种形式的变量%0、%i、%%i、var、%var%、!var!的含义和区别
  • .NET/C# 在代码中测量代码执行耗时的建议(比较系统性能计数器和系统时间)
  • .NET开源的一个小而快并且功能强大的 Windows 动态桌面软件 - DreamScene2
  • @DependsOn:解析 Spring 中的依赖关系之艺术
  • @NoArgsConstructor和@AllArgsConstructor,@Builder
  • [ Linux Audio 篇 ] 音频开发入门基础知识
  • [100天算法】-实现 strStr()(day 52)
  • [2017][note]基于空间交叉相位调制的两个连续波在few layer铋Bi中的全光switch——
  • [Android] Android ActivityManager
  • [C#]winform部署yolov9的onnx模型