声明:本文只作学习研究,禁止用于非法用途,否则后果自负,如有侵权,请告知删除,谢谢!


某网站失信人数据获取

  • 项目场景:
    • 网址:aHR0cDovL3p4Z2suY291cnQuZ292LmNuL3NoaXhpbi8=
    • 今天给大家带来某失信人平台数据的获取,网址是上面的,都懂得~
  • 解决方案:
    • 一、这个网站主要是验证码的一个识别,那么要想识别验证码就要先拿到他的验证码图片。
    • 二、接下来我们要做的就是下载验证码,进行验证码的校验,我们先来看网页上的请求步骤
    • 三、来看下验证码请求以及验证的代码
    • 四、接下来我们就要获取数据了,先来看下请求的链接和参数
    • 五、接下来就是详情页的数据,同样是需要pCode和captchaId这两个参数
    • 六、最后我们把整个流程结合起来,这里只获取部分数据,想要更多数据可自行修改

项目场景:

网址:aHR0cDovL3p4Z2suY291cnQuZ292LmNuL3NoaXhpbi8=

今天给大家带来某失信人平台数据的获取,网址是上面的,都懂得~


解决方案:

一、这个网站主要是验证码的一个识别,那么要想识别验证码就要先拿到他的验证码图片。

我们点击验证码刷新一下,得到了新的请求,里面有两个参数captchaId和random,那么我们就要找这两个参数的生成方式

我们直接从请求的栈里,点击熟悉的refresh,进去之后这两个参数的生成方式一目了然,然后扣下JS。

function getNum() {var chars = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A','B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M','N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y','Z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k','l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w','x', 'y', 'z'];var nums = "";for (var i = 0; i < 32; i++) {var id = parseInt(Math.random() * 61);nums += chars[id];}return nums;
}//刷新验证码
function refresh() {var randomNumber = Math.random();var uuid = getNum();return {randomNumber: randomNumber, uuid: uuid}
}

二、接下来我们要做的就是下载验证码,进行验证码的校验,我们先来看网页上的请求步骤

我们从下图可以看到,检验验证码的请求,需要携带获取验证码请求时的参数captchaId以及识别的验证码pCode,然后我们写下代码来试下。

三、来看下验证码请求以及验证的代码

这里我们是手动识别的验证码,机器学习自动识别需要训练打标训练模型,这一步我就不做了,比较懒,网上也有很多机器学习识别方式,这里贴个[链接](https://blog.csdn.net/qq_26079939/article/details/109050936),可以参考下。

注:请求验证码和校验验证码需要在同一session下进行

def get_param():js_str = '''function getNum() {var chars = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A','B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M','N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y','Z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k','l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w','x', 'y', 'z'];var nums = "";for (var i = 0; i < 32; i++) {var id = parseInt(Math.random() * 61);nums += chars[id];}return nums;}//刷新验证码function refresh() {var randomNumber = Math.random();var uuid = getNum();return {randomNumber: randomNumber, uuid: uuid}}'''js = execjs.compile(js_str)return js.call('refresh')def check_yzm(uuid,randomNumber):params = (('captchaId', uuid),('random', randomNumber),)session = requests.session()# 请求验证码response = session.get('http://zxgk.court.gov.cn/shixin/captchaNew.do', headers=headers, params=params, verify=False)with open('yzm.png', 'wb') as f:f.write(response.content)print('输入验证码中……')pCode = input()params = (('captchaId', uuid),('pCode', pCode),)# 校验验证码response = session.get('http://zxgk.court.gov.cn/shixin/checkyzm.do', headers=headers, params=params, verify=False)if response.text.strip() == '1':print('识别正确')return [1,pCode]else:print("识别错误")return [0,pCode]

运行并输入验证码~

四、接下来我们就要获取数据了,先来看下请求的链接和参数

可以看到是pCode和captchaId是之前输入的验证码以及请求验证码的参数

然后我们用代码请求下,这里ID是用来请求详情页用的

五、接下来就是详情页的数据,同样是需要pCode和captchaId这两个参数

六、最后我们把整个流程结合起来,这里只获取部分数据,想要更多数据可自行修改

阿J在线接JS逆向 --》 wx:zwj1314520-y

【2020-10-13】某网站失信人数据获取相关推荐

  1. 微生物组-宏基因组分析第9期(报名直播课免费参加线下2020.10本年最后一期)

    福利公告:为了响应学员的学习需求,经过易生信培训团队的讨论筹备,现决定安排扩增子16S分析.宏基因组.Python课程和转录组的线上直播课.报名参加线上直播课的老师可在1年内选择参加同课程的一次线下课 ...

  2. 宏基因组分析第9期(报名直播课免费参加线下2020.10本年最后一期)

    福利公告:为了响应学员的学习需求,经过易生信培训团队的讨论筹备,现决定安排扩增子16S分析.宏基因组.Python课程和转录组的线上直播课.报名参加线上直播课的老师可在1年内选择参加同课程的一次线下课 ...

  3. python平均工资-2020 10大薪资最高的IT编程语言排名

    坊间流传一句俗语: 三百六十行,行行转IT. IT行业自2016年首次超过金融行业以后,一直到现在每年都是稳居高薪第1名的宝座. 本文盘点了2020 10大薪资最高的IT编程语言排名,看看是哪些编码技 ...

  4. 七周三次课(1月24日) 10.11 Linux网络相关 10.12 firewalld和netfilter 10.13 netfilter5表5链介绍 10.14 iptables语法...

    七周三次课(1月24日) 10.11 Linux网络相关 10.12 firewalld和netfilter 10.13 netfilter5表5链介绍 10.14 iptables语法 ====== ...

  5. 阿里辟谣:不会高薪聘请黑阿里网站的人;苹果欲用 iPhone 替代身份证和护照;Python 3.9.0b4 发布| 极客头条

    整理 | 屠敏 头图 | CSDN 下载自东方 IC 「极客头条」-- 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注的重要新闻吧. 一分钟 ...

  6. 2020高中计算机会考成绩查询,2020会考成绩查询网站入口 学业水评考试成绩查询方法...

    2020会考成绩查询网站入口是什么,在哪查询,小编整理了相关信息,来看一下! 高中会考成绩有什么用 1.普通高中学业水平考试成绩是普通高等学校招生录取依据之一,考生在规定时间内取得规定科目的普通高中学 ...

  7. 【不忘初心】Win10_20H2_2009_19042.572_X64_六合一_[纯净精简版](2020.10.29)

    母版来自MSDN  WIN10_20H2.19042.508,集成补到19041.572,20H2相比1909 2004版本要稳定很多,精简起来也比较顺手,相对来说体积比之前的要小一些,精简方法基本上 ...

  8. macos可以升级到指定版本吗_MacOS升级10.13后变垃圾,教你如何降级自救

    来写一篇IT稿子,控诉苹果Macbook最新的OS系统 High Sierra(10.13)这个恶魔级别版本,然后用血泪教训再教怎么摆脱它. 这是一个让我可以砍手并且在梦里撞墙了无数次的升级失误. 半 ...

  9. python爬虫获取天猫店经营者资质证书(更新到2020.06.13

    python爬虫获取天猫店经营者资质证书(更新到2020.06.13 爬取需求 excel表中给定多个天猫的店铺链接,获取店铺的经营者资质证书,保存为本地图片 代码基于之前写的一个博客https:// ...

最新文章

  1. mysql经典45道题_MySQL45道面试题及答案
  2. 一文梳理水下检测方法
  3. .Net Discovery 系列之四--深入理解.Net垃圾收集机制(下)
  4. Spark On YARN 集群安装部署
  5. 接口幂等设计探索实践
  6. java本地监听zk服务器节点【动态上下线】
  7. java web空指针,java - Web服务中的Java空指针异常@autowired [重复] - 堆栈内存溢出
  8. RoaringBitmap分析及使用
  9. c语言空字符和 0 的区别,C语言'\0'、'0'、' '、“0”、0的区别详解
  10. 单片机 取模软件:字模提取v2.1、PCtoLCD下载
  11. 使用openssl实现AES CBC 128 pcks7加密
  12. swiper 切换时间_改变Swiper切换和animate.js动画的时间曲线
  13. debian7系统设置固定IP
  14. 如何在ps添加箭头_如何给图片加箭头?利用ps画箭头(任意角度),照着学就行了...
  15. 集合collection
  16. 【微信公众号开发解决URL接口配置问题 】
  17. 一篇文章详细介绍元宇宙
  18. vue-cli3以后,关于webpack打包等的相关配置
  19. 读IC封装基础与工程设计实例记录一
  20. EMC (电磁兼容性)

热门文章

  1. latex 等号上面有字
  2. SpringMVC注解
  3. mysql安装的官方教程_MySQL官方教程及各平台的安装教程和配置详解入口
  4. Windows10 wifi连接但不能上网的解决办法
  5. 使用java实现年月日日期查询
  6. Leetcode 774. Minimize Max Distance to Gas Station
  7. LeetCode 每日一题——535. TinyURL 的加密与解密
  8. python魔法方法_Python魔法方法指南
  9. 智合同携手金山办公打造智能合同应用服务
  10. http请求报头header