win10上python3.7安装scrapy1.5.1出错,求解答

Scrapy Bench测试错误
用户在使用Scrapy进行性能测试时遇到SyntaxError错误,详细错误信息显示与Twisted库的导入有关。

 

安装完可以正常显示,所需插件也都安装上了,但是执行“scrapy bench”测试的时候报了如下的错误,有没有大神知道怎么回事的,在线等,挺急!!!


2018-09-19 17:09:49 [scrapy.utils.log] INFO: Scrapy 1.5.1 started (bot: scrapybot)
2018-09-19 17:09:49 [scrapy.utils.log] INFO: Versions: lxml 4.2.4.0, libxml2 2.9.7, cssselect 1.0.3, parsel 1.5.0, w3lib 1.19.0, Twisted 18.7.0, Python 3.7.0 (v3.7.0:1bf9cc5093, Jun 27 2018, 04:59:51) [MSC v.1914 64 bit (AMD64)], pyOpenSSL 18.0.0 (OpenSSL 1.1.0h 27 Mar 2018), cryptography 2.3, Platform Windows-10-10.0.17134-SP0
2018-09-19 17:09:50 [scrapy.crawler] INFO: Overridden settings: {'CLOSESPIDER_TIMEOUT': 10, 'LOGSTATS_INTERVAL': 1, 'LOG_LEVEL': 'INFO'}
Traceback (most recent call last):
File "e:\python37\lib\runpy.py", line 193, in _run_module_as_main
"__main__", mod_spec)
File "e:\python37\lib\runpy.py", line 85, in _run_code
exec(code, run_globals)
File "E:\Python37\Scripts\scrapy.exe\__main__.py", line 9, in <module>
File "e:\python37\lib\site-packages\scrapy\cmdline.py", line 150, in execute
_run_print_help(parser, _run_command, cmd, args, opts)
File "e:\python37\lib\site-packages\scrapy\cmdline.py", line 90, in _run_print_help
func(*a, **kw)
File "e:\python37\lib\site-packages\scrapy\cmdline.py", line 157, in _run_command
cmd.run(args, opts)
File "e:\python37\lib\site-packages\scrapy\commands\bench.py", line 25, in run
self.crawler_process.crawl(_BenchSpider, total=100000)
File "e:\python37\lib\site-packages\scrapy\crawler.py", line 170, in crawl
crawler = self.create_crawler(crawler_or_spidercls)
File "e:\python37\lib\site-packages\scrapy\crawler.py", line 198, in create_crawler
return self._create_crawler(crawler_or_spidercls)
File "e:\python37\lib\site-packages\scrapy\crawler.py", line 203, in _create_crawler
return Crawler(spidercls, self.settings)
File "e:\python37\lib\site-packages\scrapy\crawler.py", line 55, in __init__
self.extensions = ExtensionManager.from_crawler(self)
File "e:\python37\lib\site-packages\scrapy\middleware.py", line 58, in from_crawler
return cls.from_settings(crawler.settings, crawler)
File "e:\python37\lib\site-packages\scrapy\middleware.py", line 34, in from_settings
mwcls = load_object(clspath)
File "e:\python37\lib\site-packages\scrapy\utils\misc.py", line 44, in load_object
mod = import_module(module)
File "e:\python37\lib\importlib\__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
File "<frozen importlib._bootstrap>", line 983, in _find_and_load
File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 728, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "e:\python37\lib\site-packages\scrapy\extensions\telnet.py", line 12, in <module>
from twisted.conch import manhole, telnet
File "e:\python37\lib\site-packages\twisted\conch\manhole.py", line 154
def write(self, data, async=False):
^
SyntaxError: invalid syntax

任务描述 相关知识 Scrapy安装与新建项目 Windows下安装 Linux/Unix下安装 Mac OS下安装 Anaconda安装Scrapy Scrapy新建项目 编程要 测试说明 任务描述 本关任务:借助Scrapy框架编写一个最基本的爬虫小程序,掌握Scrapy的基础理论和使用。 相关知识 Scrapy安装与新建项目 Windows下安装 由于 Python 官方已经宣布在 2020 年停止对 Python2 的支持,因此本教程的相关 Python 操作均是在 Python3 下进行的,请确保所使用的电脑上已安装 Python3。 在 Windows 环境下,如果安装好了 Python3 ,可以借助 pip 进行 Scrapy 进行安装: pip install scrapy 由于 Scrapy 依赖 Wheel、Twisted、Pillow 等第三方包,所以安装过程中很可能会由于依赖缺失而导致安装失败,这时可以根据提示依次进行各依赖的安装并最终完成 Scrapy安装。 Linux/Unix下安装 同样的请先确保安装Python3,之后需要在命令行下执行: pip3 install scrapy 如果出现类似于ModuleNotFoundError: No module named &#39;twisted.persisted&#39; 等由于依赖缺失导致的报错,请先使用pip install命令完成相应依赖的安装,之后即可完成 Scrapy安装。 Mac OS下安装 由于 Mac OS 自带了 Python2 版本,因此我们建议先升级到 Python3: brew install python 此时系统中同时具备了 Python2Python3 ,需要不同的命令去开启不同版本的 Python: #开启Python2 $: python #开启Python3 $: python3 由于 Python 进行了升级因此 pip 命令也失效了,此时我们可以使用pip3命令进行 Scrapy安装: pip3 install scrapy 安装过程中,依然可能会出现由于依赖缺失而导致报错,此时在安装完缺失的依赖后,再进行 Scrapy安装。 Anaconda安装Scrapy Anaconda 是一个开源的 Python 发行版本,其包含了 conda、Python180 多个科学包及其依赖项。在使用 Anaconda 安装 Scrapy 前,请先检查是否已经安装Scrapy: conda list 如果没有安装,则可使用 conda 命令进行安装: conda install scrapy 之后 conda 会帮助我们自动完成相关依赖的下载,并最终完成 scrapy安装。 在安装成功后,仍需再执行以下命令,来最后安装 Scrapy 依赖的安装: conda install service_identity 在对应的平台中依据各自对应的方法完成 Scrapy安装后,可以通过执行 Scrapy 命令来校验 Scrapy 是否已被正确安装,如下所示: # Mac OS下执行Scrapy命令以校验Scrapy是否已安装 root:~ /$ scrapy Scrapy 1.5.1 - no active project Usage: scrapy <command> [options] [args] Available commands: bench Run quick benchmark test fetch Fetch a URL using the Scrapy downloader genspider Generate new spider using pre-defined templates runspider Run a self-contained spider (without creating a project) settings Get settings values shell Inte\fractive scraping console startproject Create new project version Print Scrapy version view Open URL in browser, as seen by Scrapy [ more ] More commands available when run from project directory 如果在执行 Scrapy 命令后,输出了类似于以上所示的信息,则说明 Scrapy 已被正确安装Scrapy新建项目 Scrapy 提供了脚手架功能,即我们可以借助 Scrapy 的脚手架功能方便快捷地生成 Scrapy 爬虫程序的整个工程目录及涉及到的各个文件。 Scrapy 的脚手架命令用法如下所示: scrapy startproject [爬虫名字] 在指定目录下执行上述命令后,scrapy 会帮我们生成爬虫程序的目录及文件,如下所示为命令使用及输出信息示例: #Mac OS下利用Scrapy创建项目 root:~test$ scrapy startproject litteScrapyCrawler New Scrapy project &#39;litteScrapyCrawler&#39;, using template directory &#39;/usr/local/lib/python3.7/site-packages/scrapy/templates/project&#39;, created in: /Users/test/litteScrapyCrawler You can start your first spider with: cd litteScrapyCrawler scrapy genspider example example.com cd litteScrapyCrawler scrapy genspider 爬虫名 作用的域名 例:scrapy genspider Hello www.educoder.net 从以上的输出信息中可以看出,我们在 /Users/test 目录下执行了脚手架命令,创建了名字为littleScrapyCrawler的爬虫程序,之后 Scrapy 帮助我们生成了 littleScrapyCrawler 目录,观察 littleScrapyCrawler 的目录我们发现如下所示的目录结构,从途中可以看到,生成目录中具有多个文件。 编程要 为了帮助学习者掌握 Scrapy 基础,在命令行完成以下任务: 使用 Scrapy 框架,在当前目录/root下,创建一个名为 HelloWorld 的爬虫程序框架,框架中爬虫名为 world ,作用域名为 www.baidu.com。 测试说明 平台会检测生成的代码框架的命名、结构及内容是否正确。
最新发布
09-29
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值