qingwalashi
V2EX  ›  问与答

付费征集 b2b.10086.cn 爬虫方案,需验证可行

  •  
  •   qingwalashi · Nov 25, 2020 · 3584 views
    This topic created in 2175 days ago, the information mentioned may be changed or developed.

    悬赏征集 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 元(咖啡一杯)请大佬指点迷津,告知关键思路即可,需要你验证可行。根据评论的先后顺序我会逐一验证,第一个验证通过的评论我会进行答复,兑现悬赏付款。

    19 replies  •  2020-11-26 08:59:25 +08:00
    qyvlik
    qyvlik
    Nov 25, 2020
    1
    基于现有 浏览器插件 进行抓取,例如 web-scraper 。
    ReinerShir
    ReinerShir
    Nov 25, 2020
    2
    八爪鱼爬虫工具不就完事了?
    oott123
    oott123
    Nov 25, 2020
    3
    一个挺有意思的加密,50 块钱怕是不够分析的,如果要求不高的话还是上 headless chrome 吧
    mxT52CRuqR6o5
    mxT52CRuqR6o5
    Nov 25, 2020
    4
    headless browser,虽然效率低点但比较无脑,也不怕在 js 层的非验证码类的校验
    Hansah
    Hansah
    Nov 25, 2020
    5
    3 个 url 没一个能打开的。。。
    wangkun025
    wangkun025
    Nov 25, 2020
    6
    @siknet 我都能打开。上海电信。
    qingwalashi
    qingwalashi
    OP
    Nov 25, 2020
    7
    @oott123 这个没用过,我先研究下
    july1115
    july1115
    Nov 25, 2020
    8
    赞同 4 楼的
    qingwalashi
    qingwalashi
    OP
    Nov 25, 2020
    9
    @ReinerShir 已经验证不行了,设置规则后也是模拟浏览器进行点击动作抓取,和用 selenium 进行模拟一样,页面无法完全加载
    misaka19000
    misaka19000
    Nov 25, 2020
    10
    加个零差不多
    Hansah
    Hansah
    Nov 25, 2020 via Android
    11
    广西联通打不开,移动可以。
    火车浏览器试试吧
    xieren58
    xieren58
    Nov 25, 2020
    12
    puppeteer
    miao666
    miao666
    Nov 25, 2020
    13
    这个太简单了,只要频次不要太高
    开发一个 chrome 插件,模拟点击,再抓取 dom 内容,逐个抓取到 selectResult('712245')中的这个 id 值,存储到数据库中
    再开发一个插件,逐个访问 https://b2b.10086.cn/b2b/main/viewNoticeContent.html?noticeBean.id= 抓取到的 id
    全程都是模拟人操作,没有抓不到的数据
    qingwalashi
    qingwalashi
    OP
    Nov 25, 2020
    14
    @misaka19000 不需要具体实现,给个思路验证成功即可
    Hansah
    Hansah
    Nov 25, 2020 via Android
    15
    火车浏览器就是干这个的,我用来抓过携程和穷游
    qq316107934
    qq316107934
    Nov 25, 2020
    16
    有一个按规则生成的 OTP,做了防重放,所有请求只能调用一次,所以第二次会 400 。
    调试一会儿 JS 就能发现关键加密函数了,抽出来调用即可,给个截图提示一下:
    ![image.png]( https://i.loli.net/2020/11/25/FAzy5kxfUZQ41Dp.png)

    仅供交流学习,请勿用于违法用途
    qingwalashi
    qingwalashi
    OP
    Nov 26, 2020
    17
    @qyvlik 貌似没成功,或者是我不会用吧
    qingwalashi
    qingwalashi
    OP
    Nov 26, 2020
    18
    selenium 和 puppeteer 都试过了,默认的参数都没读取成功,无法加载出来。
    qingwalashi
    qingwalashi
    OP
    Nov 26, 2020
    19
    @qq316107934 大神好!确实发现了 400 的报错,这个加密函数还有 OTP 陷入我的知识盲区了,能再给点提示吗?
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1411 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 56ms · UTC 16:47 · PVG 00:47 · LAX 08:47 · JFK 11:47
    ♥ Do have faith in what you're doing.