python - 导入错误 : cannot import name replace_entities error when using Scrapy

标签 python html web-scraping scrapy screen-scraping

以前我会用scrapy写一个蜘蛛
scrapy startproject some_project

最近,我克隆了一个有蜘蛛的存储库,现在当我导航到正确的位置并输入 scrapy crawl some_spider -o output.csv -t csv
我收到导入错误:

    Traceback (most recent call last):
  File "/usr/local/bin/scrapy", line 3, in <module>
    from scrapy.cmdline import execute
  File "/usr/lib/pymodules/python2.7/scrapy/__init__.py", line 58, in <module>
    from scrapy.selector import Selector
  File "/usr/lib/pymodules/python2.7/scrapy/selector/__init__.py", line 4, in <module>
    from scrapy.selector.unified import *
  File "/usr/lib/pymodules/python2.7/scrapy/selector/unified.py", line 7, in <module>
    from scrapy.utils.misc import extract_regex
  File "/usr/lib/pymodules/python2.7/scrapy/utils/misc.py", line 8, in <module>
    from w3lib.html import replace_entities
ImportError: cannot import name replace_entities

我四处搜索并试图查看“replace_entities”发生了什么,但我找不到任何信息。任何有关为什么会发生这些导入错误的帮助以及有关如何解决此问题的任何想法都将不胜感激。

最佳答案

w3libScrapy 的依赖,引用自setup.py (版本 0.24.4):

install_requires=[
    'Twisted>=10.0.0',
    'w3lib>=1.8.0',
    'queuelib',
    'lxml',
    'pyOpenSSL',
    'cssselect>=0.9',
    'six>=1.5.2',
],

如您所见,Scrapy 要求 w3lib 为 1.8.0 或更高版本。

解决方案是升级w3lib包:

pip install --upgrade w3lib 

关于python - 导入错误 : cannot import name replace_entities error when using Scrapy,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26080706/

相关文章:

python - 在 matplotlib 图上设置自定义刻度间距

python - 类型注释稍后定义的类(前向引用)

javascript - 如果 1 或更少,计算并隐藏链接。查询

javascript - 使用一个输入 javascript 处理目录/文件上传

html - 固定导航栏不起作用

html - 解析xml属性: strange Encoding issue

python - Pandas Dataframe 到嵌套数据结构

python - 使用带有时间戳的 pandas to_datetime

javascript - 有没有办法在 nightjs 中处理弹出窗口

python - 链接抓取错误