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
vvaaiinn
V2EX  ›  Python

微信公众号内容的抓取、大家有什么好的建议吗

  •  
  •   vvaaiinn · 2016-04-14 18:44:58 +08:00 · 9202 次点击
    这是一个创建于 3141 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近有个业务 需要抓一些公众号的内容 上周采用的 nodejs 卡在了搜狗的登陆。抓的传送门。 这周尝试了用 python 写、还是登陆卡主了。 最后用模拟浏览器、然后抓取、但是效率太低。 各位大神,有什么好的办法和思路分享下吧、

    20 条回复    2018-06-17 16:03:16 +08:00
    airingursb
        1
    airingursb  
       2016-04-14 18:56:22 +08:00 via iPhone
    为什么公众号里面有搜狗登陆?
    vvaaiinn
        2
    vvaaiinn  
    OP
       2016-04-14 19:17:20 +08:00
    @airingursb 想抓取搜狗的站点 http://weixin.sogou.com/gzh?openid=oIWsFt3nvJ2jaaxm9UOB_LUos02k
    这样子的链接是打不开的,如果登陆 可以打开。
    但是 http://weixin.sogou.com/gzh?openid=oIWsFt3nvJ2jaaxm9UOB_LUos02k&ext=NIh7jNwwaRlkKBkoo_r53m-7oEjzdhs2BnyY2C9YNOLCQPQZl79n_CReXDC3seYZ 这个不登录就可以。
    但是这个 ext 是会变的、 算法是什么没有找到。
    WildCat
        3
    WildCat  
       2016-04-14 19:52:54 +08:00
    nightmare.js ,最近在用,感觉效率不错。
    WKPlus
        4
    WKPlus  
       2016-04-14 21:12:14 +08:00
    是爬取自己的公众号的消息么?我做过类似的,登录还比较简单的吧, pwd 字段发送的不是明文密码,是 hash 过的。另外如果爬取的行为比较频繁,为了避免经常登录被发现,可以另外起一个脚本专门用来登录,然后把 cookie 写出来让爬取脚本直接用。
    kaichen
        5
    kaichen  
       2016-04-14 22:47:45 +08:00
    有两种思路吧,一种是挂个 Web 微信的机器人等推送,另外一个是用基于 PhantomJS/Electron 的 Headless 浏览器抓取。还有频率需要控制好。
    bbc12000
        6
    bbc12000  
       2016-04-15 00:55:49 +08:00 via Android
    直接抓取别人抓取好的。目前抓取的网站很多
    bubbles
        7
    bubbles  
       2016-04-15 01:18:46 +08:00
    骚年, IOS 版本的搜狗搜索或许会给你帮助, app . search.m.sogou.com/wxpage/ search.php?module=gzh&query=
    现在这个接口应该还能用 module 是 article 应该是文章,希望对你有帮助。
    bubbles
        8
    bubbles  
       2016-04-15 01:25:45 +08:00
    对了,这个数据返回的结果实在一个 js 变量里面的,是 json 格式的,直接正则把这个匹配出来,格式化的时候注意把单引号给排查,我前面遇到标题有单引号的。
    ytmsdy
        9
    ytmsdy  
       2016-04-15 11:16:43 +08:00
    目前我也在填这个坑,现在在尝试抓微信的包,但是一些参数怎么生成的还是无法确定。比较头疼。
    vvaaiinn
        10
    vvaaiinn  
    OP
       2016-04-15 12:01:54 +08:00
    @WildCat 这个研究过、就是用测试的脚本去模拟点击抓取、目前用 selenium 搭了一套 python 的,但是效果不是老大要的。无奈
    vvaaiinn
        11
    vvaaiinn  
    OP
       2016-04-15 12:02:36 +08:00
    @WKPlus 爬去固定的 10 几个公众号,登陆简单指的是什么? 登陆搜狗微信的 QQ 吗?
    vvaaiinn
        12
    vvaaiinn  
    OP
       2016-04-15 12:03:47 +08:00
    @kaichen Headless 这个不错、我下午试试
    vvaaiinn
        13
    vvaaiinn  
    OP
       2016-04-15 12:04:19 +08:00
    @bbc12000 前些日子抓的传送门、无奈被封了阿里云 IP 。 23333.. 第一次高抓取 ,没用代理。哭...
    vvaaiinn
        14
    vvaaiinn  
    OP
       2016-04-15 12:04:52 +08:00
    @bubbles 这个、我下午在试试。多谢啊
    bbc12000
        15
    bbc12000  
       2016-04-15 14:10:35 +08:00 via Android
    @vvaaiinn 买代理?
    zhuf
        16
    zhuf  
       2016-04-15 15:43:36 +08:00
    我用的 slimerjs
    soho176
        17
    soho176  
       2016-04-17 23:33:50 +08:00 via Android
    @vvaaiinn 本地抓去 直接入数据库,封 IP 就重新拨号,不就可以了
    hanbingtel
        18
    hanbingtel  
       2016-04-19 08:44:16 +08:00
    看这里!!!!!!!!!!!!!!
    如果需要微信文章的话,我可以免费大家一些,如果需要海量级文章,也可以联系我
    因服务器自身原因,目前我只随意采集了 2200 万个微信文章,和 200 万个 微信公众号信息。
    QQ : 302000008

    图文并茂地址! 有图有真相。
    http://www.a5.net/thread-19489173-1-1.html
    mysky007
        19
    mysky007  
       2018-06-17 15:53:33 +08:00
    通过搜狗入口抓取,有两种方案可以获取到文章的链接:1、解析 html 中的 json 数据。2、使用 seimiAgent 动态加载页面,再用 xpath 提取。使用第一种成本较低。至于 ip 可能被封问题,可考虑接多家 ip 代理服务商切换代理。http://www.keydatas.com/doc/fuyYRzrY7vy2 这个平台采用的就是这种方案,可以采集,但速度没有普通网页快,可能是尝试了不同 IP 代理比较耗时。
    mysky007
        20
    mysky007  
       2018-06-17 16:03:16 +08:00
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1021 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 20:57 · PVG 04:57 · LAX 12:57 · JFK 15:57
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.