要调试Python Scrapy爬虫,您可以使用以下方法:
print()
语句:在爬虫的parse()
方法或其他自定义函数中添加print()
语句,以输出所需的信息。例如:def parse(self, response):
print("访问的URL:", response.url)
for item in response.css('div.item'):
print("标题:", item.css('h2.title::text').get())
pdb
库:在代码中添加import pdb; pdb.set_trace()
,以在运行时设置断点。例如:import pdb
def parse(self, response):
pdb.set_trace() # 设置断点
for item in response.css('div.item'):
title = item.css('h2.title::text').get()
print("标题:", title)
运行爬虫后,当代码执行到断点时,您将在命令行界面进入调试模式。您可以使用n
(next)逐步执行代码,使用c
(continue)继续执行代码,使用q
(quit)退出调试模式。此外,您还可以查看变量值、调用堆栈等。
my_spider
的爬虫,只需在命令行中输入:scrapy crawl my_spider
要启用调试模式,可以使用-s LOG_FILE=scrapy.log
选项将日志输出到文件,并使用-s DEBUG=True
选项启用调试模式。例如:
scrapy crawl my_spider -s LOG_FILE=scrapy.log -s DEBUG=True
这将启动爬虫并将调试信息输出到scrapy.log
文件。您还可以在命令行中使用Ctrl+C
暂停爬虫的执行。
在PyCharm中,您可以右键单击要调试的Python文件,然后选择“Debug”。在Visual Studio Code中,您可以创建一个名为.vscode/launch.json
的配置文件,其中包含调试设置。例如:
{
"version": "0.2.0",
"configurations": [
{
"name": "Python: Scrapy",
"type": "python",
"request": "launch",
"program": "${workspaceFolder}/my_project/my_spider.py",
"console": "integratedTerminal"
}
]
}
然后,您可以使用“开始调试”按钮启动调试会话,并在代码中设置断点。