scrapy 使用pycharm 调试,是通过scrapy的 cmdline模块实现的。

原理就是把命令行需要的命令和参数,传入运行时环境上下文。

可以完全通过pycharm工具设置来实现,也可以通过在代码中引入scrapy.cmdline来实现。

1. pycharm 修改配置

在不同的版本中布局可能略有不同,在本文写作的时候,用的是2020.2 。

在菜单 Run/Edit Configurations/ 中Configuration 配置项中,

将 Script path 替换为 Module Name ,并输入模块名, scrapy.cmdline

同时输入命令行需要执行的命令,

如本例中的命令为

scrapy runspider quotes_spider.py -o quotes.json

 则在Parameters的配置中输入参数

runspider quotes_spider.py -o quotes.json

如果有settings.py文件,要保证 Working directory 的配置指向settings.py 所在路径中

2. 通过增加main.py 文件 实现 scrapy.cmdline 功能

main文件配置如下

#!/usr/bin/python

from scrapy.cmdline import execute
execute()

在菜单 Run/Edit Configurations/ 中Configuration 配置项中,

script path: /Library/Python/XXX/site-packages/scrapy/cmdline.py (根据python安装路径决定)

Parameters : 与1 中相同

runspider quotes_spider.py -o quotes.json

Working directory 配置也形同。

3. 总结

1和2中的方法是一样的,主要区别,2中通过main入口 在cmdline.py 基础之上 运行了scrapy.cmdline的execute入口。可以说 方法2 是方法1 的白盒。

建议理解之后可以直接用1来处理。

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐