python scrapy shell例外:地址"' http:"找不到:[Errno 11001] getaddrinfo失败了

时间:2016-10-14 07:56:12

标签: python shell scrapy

实际上,它是scrapy提取数据中的scrapy教程示例。当我在Windows cmd中输入命令时,一切顺利,直到scrapy shell的样本:

scrapy shell 'http://quotes.toscrape.com/page/1/'

我有一个像

这样的例外
twisted.internet.error.DNSLookupError: DNS lookup failed: address "'http:" not found: [Errno 11001] getaddrinfo failed.

线程Thread-1中的异常(很可能在解释器关闭期间引发):

详细说明如下: [scrapy shell exception] 我搜索了stackoverflow,发现类似question的类似问题 一个答案是尝试另一个终端,我尝试了Pycharm的终端,但它失败了同样的例外。

PS:我在Windows和Python 2.7.12,Anaconda 4.0.0(64位)上工作

我对scrapy很新,所以感谢任何帮助,谢谢。

3 个答案:

答案 0 :(得分:10)

嗯,它可能与引用有关,我试图使用"来封装网址并且它可以工作,我不知道这个命令在不同的操作系统中是否不同,因为原始教程的命令代码使用{ {1}}包含网址。

我也在scrapy上发布了这个问题,正如@kmike所说,它适用于其他操作系统上的',如(MAC和Linux或Unix)(github

答案 1 :(得分:2)

对于发现此问题的人来说,本地.html文件的错误相同,我发现我必须在文件名前加上当前文件夹,而不仅仅是提供文件名。

使用

scrapy shell local_file.html

导致错误

  

twisted.internet.error.DNSLookupError:DNS查找失败:地址' local_file.htm'找不到:[Errno 8]提供nodename或servname,或者不知道。

然而,使用

scrapy shell ./local_file.html

启动shell并加载文件。

虽然文件路径的格式是 specified in the docs,但我没有意识到它是必需的(我假设我不需要提供./本地文件)但文档确实提供了示例。

  

shell也适用于本地文件。如果您想要使用网页的本地副本,这可能很方便。 shell了解本地文件的以下语法:

     

<强> UNIX风格的

     

scrapy shell ./path/to/file.html

     

scrapy shell ../other/path/to/file.html

     

scrapy shell /absolute/path/to/file.html

     

文件URI

     

scrapy shell file:///absolute/path/to/file.html

答案 2 :(得分:1)

我遇到了同样的问题,删除了网址周围的单引号。我在windows上,python 3.6