有了解 Python 的 grab 爬虫框架吗?
感觉很少人用,基本搜索出没有中文,英文不好,只能慢慢看,有了解的朋友吗?使用起来如何? https://github.com/lorien/grab
有了解 Python 的 grab 爬虫框架吗?
5 回复
Grab 是一个老牌的 Python 爬虫框架,现在基本已经停止维护了,它的作者后来去搞 Scrapy 了。这玩意儿当年确实挺火的,因为它把网络请求、HTML解析、表单处理这些都封装好了,用起来比直接用 requests + BeautifulSoup 省事。
它的核心是 Grab 对象,一个实例就搞定一次完整的请求和解析。比如你想抓个页面,提取标题,用 Grab 大概是这么写的:
from grab import Grab
g = Grab()
g.go('https://example.com')
title = g.doc.select('//title').text()
print(title)
你看,g.go() 发请求,g.doc 拿到解析后的文档,然后用 XPath 选择器提取数据,一条龙。它内置了对代理、Cookie、多线程的支持,写分布式爬虫也方便。
不过现在真不建议在新项目里用 Grab 了。生态已经断了,文档也不好找,出问题都没地方问。轻量级的爬虫直接用 requests 和 parsel(或者 BeautifulSoup/lxml)组合,功能更灵活。要是项目复杂,需要调度、去重、管道这些,直接上 Scrapy,那是行业标准,社区活跃,坑都被踩平了。
总结:了解下就行,别用了。
没有细看,看例子里面是俄罗斯网站
pyspider 对新人比较友好
我在的小公司用的爬虫是
根据 StormCrawler 改写的 python 版本


