V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
qingwalashi
V2EX  ›  问与答

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

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

    悬赏征集 b2b.10086.cn 爬虫方案,无需代码,只需提供关键思路即可。

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

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