python - 将 web scraper、scrapy 0.24 移植到 python 3。或者使用更好的东西

标签 python web-scraping scrapy

我正在尝试使用 scrapy制作一个网络抓取工具,但由于它使用Python2,我遇到了很多问题。是否可以同时对 tarball 中的所有文件运行 2to3 命令?这会导致不可预见的错误吗?是否有替代的网络爬虫框架可以推荐,它更新、功能更强?

我这么说是因为最近似乎没有太多关于运行 scrapy 0.24 版本固有问题的表单事件,即它是用 python 2 编写的这一事实。

如果 scrapy 是最好的选择,而移植是一个坏主意,那么在我的面向 python3 的机器上运行它的最佳方法是什么?仅使用 python 2 运行它的命令或者我可以在配置文件或其他文件中更改的内容。

更新

如果您遇到此类问题,您需要做的是:

只需使用python2运行setup.py脚本,即,

python2 setup.py install

你就可以开始了,之后就可以了。

^如@alecxe所示

最佳答案

Scrapy 移植到 Python 3 的问题是 Scrapybuilt-in on top of twisted 事件驱动框架,目前 is not yet there .

没有像 Python 3 上的 Scrapy 这样庞大和成熟的网络抓取框架。尽管如此,pyspider看起来很有希望,但有点不同,请参阅:

此外,还有其他与支持 Python 3 的网页抓取和 html 解析相关的库:

关于python - 将 web scraper、scrapy 0.24 移植到 python 3。或者使用更好的东西,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28390386/

相关文章:

python - 为特定的scrapy请求添加延迟

python - 如何将 scrapy.log 模块与自定义日志处理程序一起使用?

python - 有没有办法减少 Scrapy 的内存消耗?

python - 重新连接 pySerial

python - 如何从获得响应中制作列表

python - 在执行许多 I/O 绑定(bind)操作时如何在 Python 中最大化性能?

ruby - Watir 网络驱动程序需要太长时间才能从下拉列表中获取所选项目

Golang 在内存中缓存 HTTP GET 结果

python - 在 C 中使用 scrapy 嵌入 Python 时出现段错误

Python - 从文本文件调用行来编译第二个文件的模式搜索