悬赏征集 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 Hansah 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 Hansah 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 Hansah 2020-11-25 17:41:21 +08:00 via Android 火车浏览器就是干这个的,我用来抓过携程和穷游 |
![]() | 16 qq316107934 2020-11-25 18:39:55 +08:00 有一个按规则生成的 OTP,做了防重放,所有请求只能调用一次,所以第二次会 400 。 调试一会儿 JS 就能发现关键加密函数了,抽出来调用即可,给个截图提示一下:  仅供交流学习,请勿用于违法用途 |
![]() | 17 qingwalashi OP @qyvlik 貌似没成功,或者是我不会用吧 |
![]() | 18 qingwalashi OP selenium 和 puppeteer 都试过了,默认的参数都没读取成功,无法加载出来。 |
![]() | 19 qingwalashi OP @qq316107934 大神好!确实发现了 400 的报错,这个加密函数还有 OTP 陷入我的知识盲区了,能再给点提示吗? |