微博监控程序的 Python 实现

2016-08-12 00:31:41 +08:00
 theodorus
打算用 Python 在 Linux 的纯 CLI 下实现微博监控功能。即对某个用户动态不断刷新,一旦有新微博就保存下来。目前只考虑 txt 存储。不考虑数据库。
***
由于刚学写这种程序,照网上有的程序(尽管代码非常漂亮)。可算法没有绕开验证码这个比较坑的问题。
个人编程水平很浅,希望 V2EX 的朋友告知一些比较好的算法, Python 库等。最好是比较成熟的库。
如果有比较好的代码,希望分享一下。
其他的爬虫程序,也可以分享,虽然 github 很多,但是比较好的感觉还是不太多的。

谢谢(๑*◡*๑)
………
//写了一个晚上,模拟浏览器还没登进去。人生啊人生。
5436 次点击
所在节点    Python
40 条回复
chroming
2016-08-12 00:39:07 +08:00
微博做了很多防爬虫的处理。登录的话用 selenium 模拟比较方便。验证码和 ip 问题就要想办法解决了。
theodorus
2016-08-12 00:39:13 +08:00
代码交流可考虑粘到 http://paste.ubuntu.com 中。然后贴上链接。
theodorus
2016-08-12 00:41:04 +08:00
@chroming 我使用的是 selenium 。但是始终无法越过验证码。这个没有方法可以解决吗。我想完全在 CLI 下面实现。
cookie 呢。
Chyroc
2016-08-12 00:49:28 +08:00
使用打码平台或者识别验证码,我自己的项目,简单的我就自己识别了,复杂的就使用打码平台,快捷又经济!
Chyroc
2016-08-12 00:50:12 +08:00
另外,微博爬虫应该是使用 3g ,手机页面等等比较好吧
neosfung
2016-08-12 01:02:11 +08:00
微博不是有 api 么。你先在微博的开放平台注册好你的应用,然后创建一个 dummy 的用户,并且允许它访问你的应用。然后就可以你就可以获得 dummy 的授权并且可以访问它关注微博的更新
lc4t
2016-08-12 01:24:22 +08:00
微博主站密码是 rsa 的,手机版直接的,消息爬虫优先考虑移动版。
miyuki
2016-08-12 03:03:34 +08:00
GhostPost 和 LZ 的想法差不多
kslr
2016-08-12 03:26:42 +08:00
有个微博小挂件 直接解析分析即可
kindjeff
2016-08-12 06:57:29 +08:00
爬微博档案的 rss ,微博档案是一个第三方的微博备份的网站
theodorus
2016-08-12 07:51:04 +08:00
@Chyroc 对。可是验证码在 CLI 下面人工实现不了好像?
肯定是手机端。目前主要是 web.cn 这个域名
theodorus
2016-08-12 07:52:24 +08:00
@neosfung 想自己实现一遍。毕竟不是做项目,不到没办法的话不太想用现成的 API 。主要就是登录问题。
theodorus
2016-08-12 07:54:47 +08:00
@lc4t 问下 rsa 是什么意思。这个具体怎么用呢。我一直在考虑用户名密码登录。所以卡在验证码上面。
theodorus
2016-08-12 07:56:39 +08:00
@kindjeff 它那个太慢了应该?主要还是想自己写个出来。可是微博反爬虫有点厉害。有点想破解掉的意思。
lc4t
2016-08-12 08:35:46 +08:00
@theodorus 卡在验证码..验证码识别吧..另外登录成功了记得一直保持 cookies ,不要每次登录去查看更新
janxin
2016-08-12 09:00:23 +08:00
lz 这个需求 API 就行吧...
em70
2016-08-12 09:04:38 +08:00
用微博官方提供的 API,记得每小时可以刷 5000 次动态次好像
theodorus
2016-08-12 09:26:48 +08:00
@em70 恩。看来也只能用 API 了。
chaichaichai
2016-08-12 09:39:56 +08:00
爬.cn 域名,我当时似乎没有遇上验证码问题, ip 的话用动态 ip 或者去写一个爬代理的爬虫
chaichaichai
2016-08-12 09:40:39 +08:00
我下班回家找找我当时写的代码,没准改改还能用

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/298772

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX