我正在尝试使用 scrapy制作一个网络抓取工具,但由于它使用Python2,我遇到了很多问题。是否可以同时对 tarball 中的所有文件运行 2to3 命令?这会导致不可预见的错误吗?是否有替代的网络爬虫框架可以推荐,它更新、功能更强?
我这么说是因为最近似乎没有太多关于运行 scrapy 0.24 版本固有问题的表单事件,即它是用 python 2 编写的这一事实。
如果 scrapy 是最好的选择,而移植是一个坏主意,那么在我的面向 python3 的机器上运行它的最佳方法是什么?仅使用 python 2 运行它的命令或者我可以在配置文件或其他文件中更改的内容。
更新
如果您遇到此类问题,您需要做的是:
只需使用python2
运行setup.py
脚本,即,
python2 setup.py install
你就可以开始了,之后就可以了。
^如@alecxe所示
最佳答案
将 Scrapy
移植到 Python 3 的问题是 Scrapy
是 built-in on top of twisted
事件驱动框架,目前 is not yet there .
没有像 Python 3 上的 Scrapy
这样庞大和成熟的网络抓取框架。尽管如此,pyspider
看起来很有希望,但有点不同,请参阅:
此外,还有其他与支持 Python 3 的网页抓取和 html 解析相关的库:
-
beautifulsoup4
-
lxml
-
requests
-
MechanicalSoup
(构建在requests
和BeautifulSoup
之上) -
selenium
关于python - 将 web scraper、scrapy 0.24 移植到 python 3。或者使用更好的东西,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28390386/