本篇文章小编给大家分享一下Scrapy启动报错invalid syntax解决方法,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。
Scrapy启动报错invalid syntax
报错信息
Traceback (most recent call last): File “d:pythonlibrunpy.py”,
line 193, in _run_module_as_main
“main”, mod_spec) File “d:pythonlibrunpy.py”, line 85, in run_code
exec(code, run_globals) File "D:pythonScriptsscrapy.exe_main.py", line 9, in File
“d:pythonlibsite-packagesscrapycmdline.py”, line 150, in execute
_run_print_help(parser, _run_command, cmd, args, opts) File “d:pythonlibsite-packagesscrapycmdline.py”, line 90, in
_run_print_help
func(*a, **kw) File “d:pythonlibsite-packagesscrapycmdline.py”, line 157, in
_run_command
cmd.run(args, opts) File “d:pythonlibsite-packagesscrapycommandscrawl.py”, line 57, in
run
self.crawler_process.crawl(spname, **opts.spargs) File “d:pythonlibsite-packagesscrapycrawler.py”, line 170, in crawl
crawler = self.create_crawler(crawler_or_spidercls) File “d:pythonlibsite-packagesscrapycrawler.py”, line 198, in
create_crawler
return self._create_crawler(crawler_or_spidercls) File “d:pythonlibsite-packagesscrapycrawler.py”, line 203, in
create_crawler
return Crawler(spidercls, self.settings) File “d:pythonlibsite-packagesscrapycrawler.py”, line 55, in init
self.extensions = ExtensionManager.from_crawler(self) File “d:pythonlibsite-packagesscrapymiddleware.py”, line 58, in
from_crawler
return cls.from_settings(crawler.settings, crawler) File “d:pythonlibsite-packagesscrapymiddleware.py”, line 34, in
from_settings
mwcls = load_object(clspath) File “d:pythonlibsite-packagesscrapyutilsmisc.py”, line 44, in
load_object
mod = import_module(module) File "d:pythonlibimportlib_init.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level) File “
启动命令如下:
scrapy crawl first_spider -o first_spider.csv
解决方法
经过查询发现async在python3.7中是保留字,因此将twistedconchmanhole.py中的async修改为isasync即可解决问题
使用scrapy做爬虫遇到的一些坑
使用xpath和CSS遇到的一些 invalid syntax
1.引号的歧义:最外面应该使用单引号
错误:
正确:把定位的xpath外加单引号
2.使用了关键字做变量
错误:
正确:注意关键字不能做变量
3.进入shell窗口时,url添加了“”
错误:
正确:去掉url的引号
4.使用xpath匹配相关信息,返回为空列表
错误:因为一开始网址就是错误的,所以不管匹配的xpath是不是对的,都会返回【】
正确: