用 python 做爬虫,遇到的问题

2014-12-17 12:41:05 +08:00
 egrcc
我用python做了一个爬知乎的项目,地址在这里: https://github.com/egrcc/zhihu-python
有几个问题想请教一下大家。有没有办法,在不模拟登录的情况下,取得某个问题下的所有回答?
这个项目用到了beautiful soup,但速度实在是很慢,有没有什么其他的库,解析html速度更快一点的?另外,如果要大规模部署的话,是不是用scrapy这个框架更好?
5396 次点击
所在节点    Python
14 条回复
hadoop
2014-12-17 13:22:31 +08:00
怎么解决知乎验证码的问题
EPr2hh6LADQWqRVH
2014-12-17 13:26:56 +08:00
bs4的解析效率和xml解析器有关的啊,你装个lxml效率倍增。
而且你多开几个进程不就完了。。这种io指向的情景甚至多开线程都行吧
egrcc
2014-12-17 13:33:07 +08:00
@hadoop 登录不一定需要验证码,只有登录错误时,再次登录需要验证码。只要登录正确,下次登录是不需要验证码的
invite
2014-12-17 13:35:22 +08:00
请求多了,小心IP被封。哈哈。
egrcc
2014-12-17 13:41:50 +08:00
@invite 不会吧,这么严重?
invite
2014-12-17 13:43:54 +08:00
@egrcc 你以为爬虫那么好当的?
iewgnaw
2014-12-17 13:44:39 +08:00
爬虫就不要太追求速度了,太快了很容易封IP的
imn1
2014-12-17 13:48:44 +08:00
lxml + xpath 比 bs 快,regex 更快
导出 cookies 可以不在程序中登录,实际上也是要登录,登录界面换成浏览器而已

我的爬虫一向不带登录,只是读取浏览器cookies,因为都是自用,不发布,没必要写那么复杂
shoumu
2014-12-17 13:59:06 +08:00
pyquery快一点
yaotian
2014-12-17 14:48:39 +08:00
@imn1 如何自动读浏览器cookies?
hadoop
2014-12-17 15:24:17 +08:00
@egrcc 爬得太快了可能会被要求验证码的
libo26
2014-12-17 15:32:28 +08:00
“如何自动读浏览器cookies?”
@yaotian google一下,很多。。
比如:
http://n8henrie.com/2013/11/use-chromes-cookies-for-easier-downloading-with-python-requests/
CosWind
2014-12-17 17:36:34 +08:00
太快了,可以用代理,http://pachong.org/
egrcc
2014-12-17 18:05:12 +08:00
@CosWind 这个好

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

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

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

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

© 2021 V2EX