悬赏征集 b2b.10086.cn 爬虫方案,无需代码,只需提供关键思路即可。
解析网址是: https://b2b.10086.cn/b2b/main/listVendorNotice.html?noticeType=2 或 https://b2b.10086.cn/b2b/main/viewNoticeContent.html?noticeBean.id=712215
问题描述: 已通过 chrome 的 devtools 进行分析,但通过 postman 或者爬虫程序无法获得正确返回。填写 http header 依然无法获得,一直获得 412 Precondition Failed 的报错。
悬赏方案: RMB 50 元(咖啡一杯)请大佬指点迷津,告知关键思路即可,需要你验证可行。根据评论的先后顺序我会逐一验证,第一个验证通过的评论我会进行答复,兑现悬赏付款。
1
qyvlik 2020-11-25 15:56:30 +08:00
基于现有 浏览器插件 进行抓取,例如 web-scraper 。
|
2
ReinerShir 2020-11-25 15:58:37 +08:00
八爪鱼爬虫工具不就完事了?
|
3
oott123 2020-11-25 15:59:57 +08:00
一个挺有意思的加密,50 块钱怕是不够分析的,如果要求不高的话还是上 headless chrome 吧
|
4
mxT52CRuqR6o5 2020-11-25 16:01:18 +08:00
headless browser,虽然效率低点但比较无脑,也不怕在 js 层的非验证码类的校验
|
5
siknet 2020-11-25 16:02:17 +08:00
3 个 url 没一个能打开的。。。
|
6
wangkun025 2020-11-25 16:03:51 +08:00
@siknet 我都能打开。上海电信。
|
7
qingwalashi OP @oott123 这个没用过,我先研究下
|
8
july1115 2020-11-25 16:34:48 +08:00
赞同 4 楼的
|
9
qingwalashi OP @ReinerShir 已经验证不行了,设置规则后也是模拟浏览器进行点击动作抓取,和用 selenium 进行模拟一样,页面无法完全加载
|
10
misaka19000 2020-11-25 16:56:03 +08:00
加个零差不多
|
11
siknet 2020-11-25 17:25:12 +08:00 via Android
广西联通打不开,移动可以。
火车浏览器试试吧 |
12
xieren58 2020-11-25 17:27:50 +08:00
puppeteer
|
13
miao666 2020-11-25 17:31:33 +08:00
这个太简单了,只要频次不要太高
开发一个 chrome 插件,模拟点击,再抓取 dom 内容,逐个抓取到 selectResult('712245')中的这个 id 值,存储到数据库中 再开发一个插件,逐个访问 https://b2b.10086.cn/b2b/main/viewNoticeContent.html?noticeBean.id= 抓取到的 id 全程都是模拟人操作,没有抓不到的数据 |
14
qingwalashi OP @misaka19000 不需要具体实现,给个思路验证成功即可
|
15
siknet 2020-11-25 17:41:21 +08:00 via Android
火车浏览器就是干这个的,我用来抓过携程和穷游
|
16
qq316107934 2020-11-25 18:39:55 +08:00
有一个按规则生成的 OTP,做了防重放,所有请求只能调用一次,所以第二次会 400 。
调试一会儿 JS 就能发现关键加密函数了,抽出来调用即可,给个截图提示一下: ![image.png]( https://i.loli.net/2020/11/25/FAzy5kxfUZQ41Dp.png) 仅供交流学习,请勿用于违法用途 |
17
qingwalashi OP @qyvlik 貌似没成功,或者是我不会用吧
|
18
qingwalashi OP selenium 和 puppeteer 都试过了,默认的参数都没读取成功,无法加载出来。
|
19
qingwalashi OP @qq316107934 大神好!确实发现了 400 的报错,这个加密函数还有 OTP 陷入我的知识盲区了,能再给点提示吗?
|