V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
爱意满满的作品展示区。
berry10086

写了一个公众号转 RSS 的网站

  •  5
     
  •   berry10086 · Jun 20, 2015 · 12753 views
    This topic created in 3970 days ago, the information mentioned may be changed or developed.

    http://weirss.me
    刚开始做,可以直接在首页搜索添加,也可以通过openid添加
    数据来自搜狗微信搜索

    Supplement 1  ·  Jun 22, 2015
    爬虫源代码在这里https://github.com/iberryful/weixin_sogou
    Supplement 2  ·  Jun 22, 2015
    67 replies    2016-12-31 00:01:06 +08:00
    lilydjwg
        1
    lilydjwg  
       Jun 20, 2015
    试了几个,都是「未收录」啊……
    berry10086
        2
    berry10086  
    OP
       Jun 20, 2015 via Android
    你点下添加就收录了
    berry10086
        3
    berry10086  
    OP
       Jun 20, 2015 via Android
    @lilydjwg 点下添加就收录了
    wittyfox
        4
    wittyfox  
       Jun 20, 2015
    很有意思的样子。
    lilydjwg
        5
    lilydjwg  
       Jun 20, 2015
    @berry10086 啊,白色的背景上的白色的字我怎么看得到~
    lilydjwg
        6
    lilydjwg  
       Jun 20, 2015
    另外「点击查看」不要复用之前的窗口呀,再开个新的多好。
    berry10086
        7
    berry10086  
    OP
       Jun 20, 2015 via Android
    @lilydjwg 添加是蓝色背景白色字呀 点击查看那里我记下来了,回头改掉
    lilydjwg
        8
    lilydjwg  
       Jun 20, 2015
    @berry10086 鼠标移过去的时候确实是浅蓝,太浅了没注意到……
    berry10086
        9
    berry10086  
    OP
       Jun 20, 2015 via Android
    @lilydjwg 谢谢你的反馈,你用的什么浏览器?
    lilydjwg
        10
    lilydjwg  
       Jun 20, 2015
    @berry10086 火狐 38.0.5。
    imink
        11
    imink  
       Jun 20, 2015
    能简单透露一下实现的技术手段么?
    ulic95
        12
    ulic95  
       Jun 20, 2015
    好东西!
    berry10086
        13
    berry10086  
    OP
       Jun 20, 2015
    @imink 核心就是抓搜狗的数据,但是搜狗有些页面是js生成的,对于js生成的页面,用selenium+phantomjs 抓取,其他内容直接用requests抓,但经常会触发反爬虫,所以要经常换cookies
    berry10086
        14
    berry10086  
    OP
       Jun 20, 2015
    @lilydjwg 修复了
    ggswolf
        15
    ggswolf  
       Jun 20, 2015
    蛮不错的感觉~~
    Kai
        16
    Kai  
       Jun 20, 2015 via iPhone
    moved to /go/create
    lilydjwg
        17
    lilydjwg  
       Jun 21, 2015
    @berry10086 这回不会看漏了,赞!
    catface
        18
    catface  
       Jun 21, 2015
    安卓上用什么rss阅读器好呢
    berry10086
        19
    berry10086  
    OP
       Jun 21, 2015 via Android
    @catface 我以前用feedly 现在用inoreader
    bornichildren
        20
    bornichildren  
       Jun 21, 2015
    感谢。以前有人也做过,不过后来貌似被搜狗给干了。希望这个能长久
    berry10086
        21
    berry10086  
    OP
       Jun 21, 2015 via Android
    @bornichildren 目前跑了一个月,还没事,希望能坚持很久
    ulic95
        22
    ulic95  
       Jun 21, 2015
    @berry10086 很多抓不了,是搜狗的问题?
    berry10086
        23
    berry10086  
    OP
       Jun 21, 2015 via Android
    @ulic95 是的,有的公众号搜狗搜不到,搜狗有的,我基本都能抓到
    zangbob
        24
    zangbob  
       Jun 21, 2015
    已感谢+收藏。。。希望能用的久一些。。。不要像其他几位同学的作品,或者不能用了,或者打不开了。。
    djyde
        25
    djyde  
       Jun 21, 2015
    关于能坚持多久的问题 我觉得楼主可以尝试做成 open source,让每个人都可以搭建自己的爬虫
    berry10086
        26
    berry10086  
    OP
       Jun 21, 2015
    @djyde 目前还在改进中,过段时间会开源
    sinosure
        27
    sinosure  
       Jun 21, 2015
    @berry10086 不错啊,改版了。在线看的界面还有很多潜力,加上多用户支持,然后自动根据公账号汇聚timeline更新,这样rss都不需要用了,直接在线看,顺带再支持收藏到pocket、印象笔记,齐活
    berry10086
        28
    berry10086  
    OP
       Jun 21, 2015 via Android
    @sinosure 在线看的那个界面还没有做,目前还只是导航,未来会先改进这个界面。然后优化抓取算法,现在是简单粗暴的4小时全部更新一次,想加入根据公众号更新频率动态调整抓取频率的功能,可以节省很多资源。抓取这块稳定后,就可以按你说的做在线阅读啦。前端不太懂,还有好多东西要学。
    wogong
        29
    wogong  
       Jun 21, 2015
    感谢。

    另外对比了一下搜狗的微信搜索和微信公众帐号之间的差异,发现二者并不同步。搜狗上槽边往事的最新文章是0512,而公众帐号实际是0524,少了三篇文章。

    继续对公众帐号内容的封闭性失望。
    berry10086
        30
    berry10086  
    OP
       Jun 21, 2015 via Android
    @wogong 是的,搜狗的数据滞后,二十多很多公众号的内容在搜狗搜不到
    sinosure
        31
    sinosure  
       Jun 21, 2015
    @berry10086 在线读每篇公众号内容的阅读界面基本没必要动,就目前公众号原汁原味即可,条目导航页面目前我在eink下看很舒服,比sougou的来说对eink很友好,导航界面有第三方收藏功能就ok了。
    抓取策略的确是可以的,扫描公众号列表里面的更新时间,然后只增量更新就好了。但愿搜狗手下留情少制造障碍
    berry10086
        32
    berry10086  
    OP
       Jun 22, 2015 via Android
    @sinosure 谢谢你的建议,我先试着改进抓取策略。担心收录帐号多了以后,频繁访问搜狗会被封,目前确实是增量更新,每个公众号最多缓存20篇文章在本地,旧文章只保留链接和标题归档
    ulic95
        33
    ulic95  
       Jun 22, 2015
    @berry10086 这个网站倒是能抓取大部分: http://chuansong.me/ 不知道是不是纯手动录入的。
    berry10086
        34
    berry10086  
    OP
       Jun 22, 2015 via Android
    @ulic95 在搜狗微信搜索上线前,传送门就有了,应该是自动采集的,但是不知道作者如何实现的
    sinosure
        35
    sinosure  
       Jun 23, 2015
    @berry10086 会不会是模仿微信操作实现的呢,不通过搜狗,直接从微信内抓?
    berry10086
        36
    berry10086  
    OP
       Jun 23, 2015
    @sinosure 有可能,搜狗没有的账号,传送门也有,而且还能获取点赞和阅读数,应该是在微信里抓的。
    http://werank.cn/
    sinosure
        37
    sinosure  
       Jun 25, 2015
    @berry10086 可否将parse_list输出结果里面再增加一项,每个条目的更新日期,这样有利于增量更新内容
    berry10086
        38
    berry10086  
    OP
       Jun 25, 2015 via Android
    @sinosure js生成的页面没有时间戳,所以得不到精确到分钟的更新时间,只能得到日期。想要获取更新时间,需要通过分析js调用的接口才能实现,但是接口经常变化,维护成本高
    sinosure
        39
    sinosure  
       Jun 25, 2015
    @berry10086 到日期足够了,我看到日期了,但不知道怎么取到那个p标签的值。。。
    berry10086
        40
    berry10086  
    OP
       Jun 25, 2015
    @sinosure 日期我抓取了呀
    berry10086
        41
    berry10086  
    OP
       Jun 25, 2015
    @berry10086 不对,list这里没有抓日期,我是在文章那个页面抓的,增量更新我是根据标题判断的,没有根据日期判断
    berry10086
        42
    berry10086  
    OP
       Jun 25, 2015
    @sinosure
    ls = soup.select('#wxbox .txt-box')
    link_list = []
    for item in ls:
    item_dict = {}
    item_dict['date'] = ls.select('p .s-p')

    这样应该可以,我没有测试
    sinosure
        43
    sinosure  
       Jun 25, 2015
    @berry10086 可能误解了我的意思,parse_essay方法有获取日期,但parse_list方法好像只取了标题和链接,如果也有日期输出就好了,不用去抓内容就能获得列表每个篇目的更新日期。
    然后生成一个没有正文的rss,看的时候直接跳去微信原始页面看,省的直接看rss时图片被干掉
    sinosure
        44
    sinosure  
       Jun 25, 2015
    @berry10086 我现在看公众号的思路是这样的,在ttrss下订阅多个公众号,然后ttrss可以自动汇聚近期更新的篇目到最新更新文章下,这些最新更新文章形成一个新的feed,这样只要订阅这一个feed就行了,混搭各种更新。
    berry10086
        45
    berry10086  
    OP
       Jun 25, 2015 via Android
    @sinosure 也就是说,你想要一个不是全文输出的rss?
    berry10086
        46
    berry10086  
    OP
       Jun 25, 2015 via Android
    @sinosure 我之前是在kindle4rss里把来自微信的rss添加到一个文件夹里,但是这样在kindle上看文章列表时看不到文章出处,后来就改成都放在根目录了,可以看到出处。
    sinosure
        47
    sinosure  
       Jun 25, 2015
    @berry10086 有全文当然好啊,全文的文字部分留在ttrss里面,可以作为存档,还支持全文检索。
    这不是担心抓全文超时么,有些再利用公众号内容的时候只需要搭建类似你http://weirss.me/account/sagacity-mac/的效果就好了,在线直接看
    我这想法跟你的区别是,你是基于一个公众号生成文章列表,我是利用ttrss抽取多个公众号内容合并最新更新,做了个多个公众号的最新文章列表
    berry10086
        48
    berry10086  
    OP
       Jun 25, 2015 via Android
    @sinosure 抓全文不会超时,非常快,瓶颈在于搜狗,有反爬虫
    welly
        49
    welly  
       Jun 25, 2015
    好像挺不错的啊,就是me网址咋打不开
    berry10086
        50
    berry10086  
    OP
       Jun 25, 2015
    @welly 你用的什么网络?是dns解析不了吗?
    welly
        51
    welly  
       Jun 25, 2015
    @berry10086
    Service Unavailable

    The server is temporarily unable to service your request. Please try again later.
    Reference #60.27b3d208.6baad6e8.1435235216

    江西·移动
    kevin1452
        52
    kevin1452  
       Jun 26, 2015
    请问 屏蔽的情况怎么样?我之前强行抓会屏蔽,后来生成cookie相对稳定了,但还是容易被屏蔽
    berry10086
        53
    berry10086  
    OP
       Jun 26, 2015 via Android
    @kevin1452 因为解析文章列表是用phantomjs实现的,所以很少被屏蔽。另外,10分钟更换一次cookies
    kevin1452
        54
    kevin1452  
       Jun 27, 2015
    @berry10086 我开始只是访问了最后那个固定连接,之前的js并没有执行,所以屏蔽的比较快,后来执行了js之后相对好很多,,, 每次访问间距也拉大了很多.. 但是跑的时间长了 还是会屏蔽一些时间之后 再解封
    berry10086
        55
    berry10086  
    OP
       Jun 27, 2015 via Android
    @kevin1452 经常换cookies就好了,我现在是10分钟更新一次cookies,效果不错
    berry10086
        56
    berry10086  
    OP
       Jun 27, 2015 via Android
    @berry10086 我测试过,不间断抓取大概30次就会触发反爬虫。
    14
        57
    14  
       Jun 28, 2015
    感谢 这东西主要是维护麻烦
    hao312
        58
    hao312  
       Jul 16, 2015
    出问题了? RSS这2天没不更新
    berry10086
        59
    berry10086  
    OP
       Jul 16, 2015
    @hao312 ip被搜狗封了
    riccar
        60
    riccar  
       Jul 19, 2015
    如果能看被屏蔽的就更好了,比如侠客岛的文章,经常有被举报屏蔽的,回头想看看不了
    zhangyueru
        61
    zhangyueru  
       Jul 23, 2015
    有新版本发布了吗
    zhangyueru
        62
    zhangyueru  
       Jul 24, 2015
    @berry10086 ? 求代码共享
    berry10086
        63
    berry10086  
    OP
       Jul 27, 2015 via Android
    @zhangyueru 最近太忙,过一段时间就会共享出来
    zhangyueru
        64
    zhangyueru  
       Jul 31, 2015
    期待中。。。。
    SurDark
        65
    SurDark  
       Aug 9, 2015
    最近抓取的rss不更新了,还会修复吗?谢谢……
    sinosure
        66
    sinosure  
       Sep 7, 2015
    搜狗又变招了,获取的 url 不再是固定的了,要多爬一步了
    knightliao
        67
    knightliao  
       Dec 31, 2016
    http://100weidu.com 支持微信公众号 rss 订阅,欢迎使用,我会一直维护
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2545 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 113ms · UTC 15:01 · PVG 23:01 · LAX 08:01 · JFK 11:01
    ♥ Do have faith in what you're doing.