PyCharm中调试Scrapy单个爬虫
程序员文章站
2022-03-03 07:50:06
...
通常运行Scrapy爬虫的方法是在工程目录下执行scrapy crawl 或者crapy runspider scrapy_first/spider/book.py命令,而不是直接运行Python脚本,因此无法直接命中断点。执行scrapy命令时实际上是执行了scrapy.cmdline模块,因此需要单独引用这个cmdline,然后按正常方式开始调试即可成功命中断点。
在scrapy.cfg同级中建立main.py文件
# -*- coding: utf-8 -*-
__author__='pasaulis'
#在程序中运行命令行,方法调试,如:在jobbole.py中打个断点,运行就会停在那
from scrapy.cmdline import execute
import sys
import os
#获取到当前目录:E:\a\scrapy_test\Aticle,方便后面cmd命令运行不必去找目录
sys.path.append(os.path.dirname(os.path.abspath(__file__)))
#测试目录获取是否正确
# print(os.path.dirname(os.path.abspath(__file__)))
#调用命令运行爬虫
execute(["scrapy","crawl","jobbole"])
如果习惯使用runspider+需要执行的spider的name.py文件,则替换为
execute(['scrapy', 'runspider', 'scrapy_first/spiders/book.py'])