【问题标题】:port web scraper, scrapy 0.24, to python 3. or use something better将网络刮刀(scrapy 0.24)移植到 python 3. 或使用更好的东西
【发布时间】:2015-04-08 01:09:36
【问题描述】:

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

我之所以这么说,是因为最近在表单上似乎没有太多关于运行 0.24 版 scrapy 所固有的问题的活动,即它是用 python 2 编写的。

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

更新

如果你有这样的问题,你需要做的是:

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

python2 setup.py install

你很高兴,之后它就会工作。

^如@alecxe所示

【问题讨论】:

  • 你是说你正在尝试将 Scrapy 移植到 Python3 上吗?问题是Scrapy 是基于twisted 而后者还没有。
  • 是的,没错。那行得通吗?有没有更新更可靠的刮刀可以代替?

标签: python web-scraping scrapy


【解决方案1】:

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

没有像 Python 3 上的 Scrapy 这样大而成熟的网络抓取框架。虽然,pyspider 看起来很有希望,但它有点不同,请参阅:

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

【讨论】:

  • 那么,我怎样才能在我的机器上运行scrapy?
  • @flavius_valens 好,关注installation guide 还是我错过了什么?谢谢。
  • 是的,我这样做了,但它给了我各种与 python 3 相关的问题,是否有命令只使用 python 2 或其他东西运行它?
  • @flavius_valens 你需要安装 Python 2.7 并将 Scrapy 安装到 Python2.7 环境中。
猜你喜欢
  • 2012-11-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-07
相关资源
最近更新 更多