欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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'])