V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
spiderGgl
V2EX  ›  Python

天眼查爬虫新姿势

  •  
  •   spiderGgl · 2019-11-21 14:55:05 +08:00 · 7344 次点击
    这是一个创建于 1589 天前的主题,其中的信息可能已经有所发展或是发生改变。

    今天偶然逛了逛 GITHUB 发现个项目,由此发现一种爬虫的新姿势.

    GITHUB 地址如下: https://github.com/thorn5918/tianyancha

    追踪到另一个人的 csdn 博客,也就是我最感兴趣的东西。 地址如下: https://blog.csdn.net/ggl1438/article/details/102837903

    一、天眼查 8.5 版本的 app 可以抓包

    二、当测试加密值可以使用的情况下,二次利用加密值

    三、利用自动化神器 Autojs 来驱动 app 点击等操作,产生新的请求,从请求中拿到加密值

    以上就是思路,可是我搭建过程中发现几个事情。

    1.天眼查服务器会不响应我的请求,换个 ip 就行。

    2.天眼查 app 会存在进程杀不死的情况,我多开 app 造成手机卡死,于是乎想到可以利用开发者模式限制只有几个进程运行。

    第 1 条附言  ·  2019-11-21 16:00:11 +08:00
    额,假如有天眼查的哥们,你封掉 8.5 版本的 app 就好了。我看了看其他版本是不允许抓包的。
    第 2 条附言  ·  2019-11-21 16:20:22 +08:00
    买了 50 个设备 id,之前 demo 里面的 095f80d134fb2b0873a47fe445ed0ca5 被你们测坏了,被天眼查封了

    p72awz6ayv4xilvdwl0ekotrhenuekv9
    k69xf1jiofl9swskjv1of031jl9gfexg
    d11wacma0agg3jatwbzgv294pygosln1
    37h010movk5x2zjrh12ckzdpqmcsdelx
    8bkrbhxzc6lv6ems45ux4uam44710w5q
    h3805hfz9awobpq2vrvw5fvzaetu8jjc
    f2bjc3jhelq3mry2nndaullam8ae5wwy
    zluxux8dm1nvqx8wpnazqe160yv27ghs
    nc77sl5iosmy30w895iuj86asnldliht
    4wit2nxn0egrusptynrkqc9vwwt64gxs
    70rr2rz1zmnlhoitpk495upkrhdbzw3w
    ru4yojiws87eb6x8qiwfti90d45286id
    jeiezv651dum1nposkicgx0wc40hd6rc
    p4j9s9f134827632pq4g3pxep6d4wmrk
    efbvoosslh214oixyn2t96w69jcgjsb3
    262g35byo28ivxwp8m7hxmbxselubfhm
    639af3m1p5buxuo8dxv5s2wk3khyg3hw
    0r57k7at0648438aqy0w2yqosi3i22b5
    f5tynndlghfhuk5mtj3i57mv2bi04sye
    8toehhsnkz9em10xw3mf9a9l23wvacwg
    0q089ma7z1zr3bta9s70s7az0gqz6kwf
    16kdeus979ullszags1tkyner0z7l718
    ftm0ggtdmuspmzh4mrpxu5ebdxbnb8ms
    ygvjah993fz7l7aq6x8ifh3zmpo90nfb
    ro9fvzni2albp4uvkh16q8obp7dgz2s8
    pi716zt6fl84gokzw55dr0z24kyajel1
    kiwh6t5w5kau29gz6xje6wrvl4c8h31o
    3kk97cvicfz4qiuaqdzh7wp7l2ax3uy7
    th6czzexy8v6a52pqovn20gljmpudm2f
    3b9hdpnr6rmzl6eeb7x2ylr8wzxw55iv
    bpz3pcuqeg1bt6l8ytco28bb9i9owcfj
    sm8rm6ber4ifvc26ckh5b11kykutl0se
    tt536egg2zz2n7cyjeiduqs94wgxbgrh
    l7i57ubmjx8kx6remdue36dkrwtyeb63
    u4ncyfzrqwjilptygjq1cfc8yguayoq5
    rykx9a24yagjt07rg3biwziseb2stjxt
    3e2ad108s2pb8bjise3zb9ttnoipfk11
    tiv4qqxr8qbmhbv3ebiwa0u021w6h20j
    3nfq2in1a0e7l642zgb9f53oa26z1i9t
    rr3gn5zyt4ul3gzvo7nnvhvodwdfp22f
    pgw99zahlhln5gtvcok00fc1dm0slazn
    fgfdhvdt8dzafgc69shoer7796deeuif
    st2qwjumybqrjxyxy1vua9ze4xy34eaj
    49o9ekh6l7e4jwg7uj2gn1enxt7jlae8
    397zfkbhzxtxqzzq0xefohsc5kw8ihm7
    z1fjxhmk5o9tk8jwxzm4ji1vh4wbl71k
    xyqcaoihaaro6mt9hhlyfzcaa8i4l9l7
    hq7ecmb3ck6p9og9v9ens0gsivbk4lzh
    bl37ohp9km3lfsmegavf3yu68lgytx6p
    第 3 条附言  ·  2019-11-21 16:24:40 +08:00
    套路到实现方式了,Arm 服务器实现的,类似于龙境云系统架构
    第 4 条附言  ·  2019-11-24 16:16:27 +08:00
    20191124,关闭接口!特此说明
    dreamerlv3ex
        1
    dreamerlv3ex  
       2019-11-21 15:19:05 +08:00   ❤️ 1
    思路很棒,爬虫需小心
    spiderGgl
        2
    spiderGgl  
    OP
       2019-11-21 15:24:14 +08:00
    他这思路很牛,还开放了个接口,正在跟他谈兼职的事情。
    爬虫的生存空间越发狭小。
    opengps
        3
    opengps  
       2019-11-21 15:26:27 +08:00 via Android
    爬虫要把爬虫爬死的感觉😀
    spiderGgl
        4
    spiderGgl  
    OP
       2019-11-21 15:31:49 +08:00
    @opengps 市场乱了,死了一批后需求竟然更大了。
    Randall
        5
    Randall  
       2019-11-21 15:35:29 +08:00
    聪明
    springGun
        6
    springGun  
       2019-11-21 15:37:07 +08:00
    哥们,你不会是我前同事吧?bz
    Vegetable
        7
    Vegetable  
       2019-11-21 15:37:13 +08:00
    和我现在做的项目思路一样的,我觉得一点也不高端,是在实在走投无路的情况下才选择的这套方案

    "这签名太难搞了,还是模拟 /代理吧"

    手机端是 adb shell am start shcema://path 的方式或者其他效率低一些的自动手段,客户端代理到 mitmproxy 或者 anyproxy 之类的代理服务器上,监听网络请求,盗用签名或者直接通过这种低效的方式获取数据.
    pc 网页的签名如果实在破不了的话,也可以折中用浏览器+外部 js(油猴 /代理注入 /selemium 执行).
    这套方案的优势是工作量小,缺点就是效率太低了
    Vegetable
        8
    Vegetable  
       2019-11-21 15:41:08 +08:00
    哦,我们手机还是基于 asyncio+adb 的集群呢 /狗头
    spiderGgl
        9
    spiderGgl  
    OP
       2019-11-21 15:43:52 +08:00
    @Vegetable 效率是低了点,天眼查的 app 我也试了,卡在爱加密上。不过听他的意思是已经破了 app。

    @Randall 嘿嘿

    @springGun 万一呢,哈哈
    Vegetable
        10
    Vegetable  
       2019-11-21 15:47:01 +08:00
    @spiderGgl 破解 app 听起来美好,但是变换加密策略的成本比破解的成本低多了,生产上的东西很担心突然不能用,这套方案虽然效率低,但是可用性的确是能得到保证.
    ClericPy
        11
    ClericPy  
       2019-11-21 15:49:09 +08:00
    逆向 app 拿签名虽然不太麻烦, 就是要进去坐 2 到 5 年有点费时间
    moult
        12
    moult  
       2019-11-21 15:49:36 +08:00
    本是同根生,相煎何太急!
    apktool
        13
    apktool  
       2019-11-21 15:53:04 +08:00
    爬虫现在 非正常的抓取都有可能进去,特别是破解,法务对这个都声明好几次,祝好
    spiderGgl
        14
    spiderGgl  
    OP
       2019-11-21 15:54:40 +08:00
    @ClericPy 老哥,好像真的犯法。不过可以避免,用 arm 服务器去虚拟化运行 app,就不涉及破解啊|侵犯著作权什么的。

    @moult 就是感觉这种做法太赞了,没有说侵犯天眼查权益。

    @Vegetable 对于公司而言,破解成本的确高,这种方法还有弊端,万一封了 8.5 版本的 app,你就抓不到包了。
    spiderGgl
        15
    spiderGgl  
    OP
       2019-11-21 15:58:39 +08:00
    @apktool 对的对的,我碰到瑞数后就辞职了。爬虫太难了,还承担着风险
    ClericPy
        16
    ClericPy  
       2019-11-21 16:05:10 +08:00
    @spiderGgl #14 很多东西, 民不告官不究, 我只是说前面那些提到逆向的人, 你给的这套是常规自动化加中间人的, 以前用过类似的真机上用 adb 唤起拿 token 的方式, 一个原理, 不过用的是 tasker 写出来的 app. 现在爬虫不好干, 赶紧转行溜了, 想起以前别人的那句: 爬虫难不是难在怎么抓的快, 难在怎么抓的慢... 亏我之前各种调研哪个 http 库性能高, 发现 aiohttp 有 C 加成超过很多其他的库, 然后 golang 的内置库又给我刷新三观... 溜了
    szpShang
        17
    szpShang  
       2019-11-21 16:07:57 +08:00
    1.登陆天眼查网站
    2.破解滑动验证码
    3.输入免费短信的手机号。
    4.从免费短信网站中抓取验证码
    5.登入网站
    6.搜索需要的企业
    7.抓取相关的信息
    重复 6-7 操作
    隔半个小时
    8.主动退出
    9.停止服务
    10.重拨宽带账号切换 ip
    11.启动服务
    从 1 的操作重新执行
    已经退出爬虫圈,怕被抓。
    murmur
        18
    murmur  
       2019-11-21 16:11:49 +08:00
    天眼查前几天还在招爬虫工程师,为什么他就不担心被起诉
    spiderGgl
        19
    spiderGgl  
    OP
       2019-11-21 16:21:47 +08:00
    @murmur 他这种思路不会被起诉把,无非就是多用了几个手机,不涉及破解什么的
    passerbytiny
        20
    passerbytiny  
       2019-11-21 16:22:09 +08:00
    动机:获取别人加密(即不想让你获取)的数据。
    手段:自动化程序模拟自然人操作,并且在服务器封禁 IP 后更换 IP 继续。

    如果拿到的数据又没在 24 小时只能删除的话,证据够了。
    googoehl
        21
    googoehl  
       2019-11-21 16:24:58 +08:00
    真的会包吃包住的(牢底坐穿)!!!!!不要瞎搞了, <信息破坏罪>
    jestgossip
        22
    jestgossip  
       2019-11-21 16:30:01 +08:00
    “追踪到另一个人的 csdn 博客,也就是我最感兴趣的东西” ggl1438
    楼主昵称 spiderGgl
    我怎么觉得这么有意思呢
    spiderGgl
        23
    spiderGgl  
    OP
       2019-11-21 16:42:22 +08:00
    @jestgossip 老哥,你这样就没得意思了
    Yogpre
        24
    Yogpre  
       2019-11-21 18:50:04 +08:00
    爬虫写得好,牢饭吃到饱
    spiderGgl
        25
    spiderGgl  
    OP
       2019-11-22 08:51:11 +08:00
    @Yogpre emm,好多部门都改名了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3008 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 41ms · UTC 14:43 · PVG 22:43 · LAX 07:43 · JFK 10:43
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.