爬虫蜘蛛Scrapy shell之配置及启动shell详解 (25)python SCRAPY最新教程1.51以上版本

Scrapy shell是一个交互式shell,您可以非常快速地尝试调试您的抓取代码,而无需运行蜘蛛。它用于测试数据提取代码,但您实际上可以使用它来测试任何类型的代码,因为它也是常规的Python shell。

shell用于测试XPath或CSS表达式,看看它们是如何工作的,以及它们从你试图抓取的网页中提取的数据。它允许您在编写蜘蛛时以交互方式测试表达式,而无需运行蜘蛛来测试每个更改。

一旦熟悉了Scrapy shell,您就会发现它是开发和调试蜘蛛的宝贵工具。

配置

如果安装了IPython,Scrapy shell将使用它(而不是标准的Python控制台)。该IPython的控制台功能更强大,并提供智能自动完成和彩色输出,等等。

我们强烈建议您安装IPython,特别是如果您正在使用Unix系统(IPython擅长)。有关 详细信息,请参阅IPython安装指南。

Scrapy也支持bpython,并且会尝试在IPython 不可用的地方使用它。

通过scrapy的设置,您可以配置为使用中的任何一个 ipythonbpython或标准的python外壳,安装不管是哪个。这是通过设置SCRAPY_PYTHON_SHELL环境变量来完成的; 或者在scrapy.cfg中定义它:

[settings]  shell = bpython

 

启动

要启动Scrapy shell,您可以使用如下shell命令:

scrapy shell <url>

 

在哪里<url>是您要抓取的URL。

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

# UNIX-style  scrapy shell ./path/to/file.html  scrapy shell ../other/path/to/file.html  scrapy shell /absolute/path/to/file.html    # File URI  scrapy shell file:///absolute/path/to/file.html

 

注意

使用相对文件路径时,请明确并在其前面添加./(或../在相关时)。 不会像人们预期的那样工作(这是设计,而不是错误)。scrapy shell index.html

因为shell优先于文件URI的HTTP URL,并且index.html在语法上类似于example.com,所以shellindex.html视为域名并触发DNS查找错误:

$ scrapy shell index.html  [ ... scrapy shell starts ... ]  [ ... traceback ... ]  twisted.internet.error.DNSLookupError: DNS lookup failed:  address 'index.html' not found: [Errno -5] No address associated with hostname.

 

shell如果index.html 当前目录中存在调用的文件,则不会事先测试。再次,明确。

本文目录导航

  • 配置
  • 启动
本站所发布的一切资源仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如果侵犯你的利益,请发送邮箱到 [email protected],我们会很快的为您处理。
超哥软件库 » 爬虫蜘蛛Scrapy shell之配置及启动shell详解 (25)python SCRAPY最新教程1.51以上版本