采集目标
网址:新榜编辑
工具使用
开发工具:pycharm 开发环境:python3.7, Windows10 使用工具包:requests,execjs
项目思路解析
今天这个网页虽然比较的实用,各位大大在之后也可以在当前网页挑选合适的文章内容进行书写,但是问题是啥呢,网页数据是加密的,辣条真的是夜不能寐。
首先爬虫常规操作找到目标数据的接口位置,打开抓包工具查看数据的加载方式,打开抓包工具的一瞬间数据没了
当前网页应该是做了开发者工具检测,把抓包工具以单独页面打开
单独打开就没有什么问题了,找到文件接口数据确定请求的url地址
数据的接口
https://edit.newrank.cn/xdnphb/editor/articleMaterial/searchArticleMaterial
当前接口的请求方式为post,post请求就意味着需要传递数据
item能明显看出来数据数据加载的格式、日期、种类,数据的翻页就是通过日期来进行,nonece和xyz是加密数据,进行简单判断nonece、xyz应该都是md5加密 先找到nonece、xyz的加密位置,可以通过全局搜索也可以xhr断点调试的方法,只要能找到数据的加密位置就行,辣条这里就直接通过xhr断点找寻数据的发送位置
通过抓包工具右边的call stack找到后续的执行过程一个个点击查看找到发送数据的是在哪里生成的 传递的data数据为h 现在我们只需要找到h的生成位置就好了,h是由u得来的u是c函数生成的,nonece,zyz就是是在c函数生成
给位置数据打上断点,查看数据的加载规律,nonece为u方法生成的9个参数里的随机值
xyz加密的数据是o加上&nonece和nonece的值,o的参数是网址加上appkey在加上item的值
“/xdnphb/editor/articleMaterial/searchArticleMaterial?AppKey=joker&item={“type”:“lakh”,“period”:“1#2021-09-18”,“order”:“2”,“extra”:“全部”,“ranklist_id”:”“,“weixin_id”:”“,“start_time”:“2021-09-18”}&nonce=6a65cad87”
xyz加密的代码有点多,这是何等的卧槽
直接补环境好了,不去硬扣js代码了复制js代码到本地,先把加密函数给拿过来,把整个t函数拿到本地,自己运行尝试一下
大功告成,数据的加密方式,加密规则都解决了,现在用Python整合,对目标网址发送请求,获取数据进行保存,各位大佬js源码可以自行扣取,只要t函数就可以了。
效果展示
简易源码分享
import execjs
import requests
import csv
nonce = execjs.compile(open(‘nonce.js’).read()).call(‘u’)
date = input(‘请输入你需要的日期(2021-07-19):’)
xyz_code = ‘/xdnphb/editor/articleMaterial/searchArticleMaterial?AppKey=joker&item={“type”:“lakh”,“period”:“1#%s”,“order”:“2”,“extra”:“全部”,“ranklist_id”:“”,“weixin_id”:“”,“start_time”:“2021-09-04”}&nonce=%s’ % (date, nonce)
print(xyz_code)
xyz = execjs.compile(open(‘nonce.js’).read()).call(‘t’, xyz_code)
print(xyz)
url = “https://edit.newrank.cn/xdnphb/editor/articleMaterial/searchArticleMaterial”
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Python开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注:Python)
7243c1008edf79.png)
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注:Python)