我在Windows机器上有Visual Studio代码,我正在其上制作一个新的Scrapy Crawler.爬虫程序工作正常,但我想调试代码,为此我在我的launch.json文件中添加了以下内容:

{
    "name": "Scrapy with Integrated Terminal/Console",
    "type": "python",
    "request": "launch",
    "stopOnEntry": true,
    "pythonPath": "${config:python.pythonPath}",
    "program": "C:/Users/neo/.virtualenvs/Gers-Crawler-77pVkqzP/Scripts/scrapy.exe",
    "cwd": "${workspaceRoot}",
    "args": [
        "crawl",
        "amazon",
        "-o",
        "amazon.json"
    ],
    "console": "integratedTerminal",
    "env": {},
    "envFile": "${workspaceRoot}/.env",
    "debugOptions": [
        "RedirectOutput"
    ]
}

但我无法达到任何断点.

推荐答案

为了执行典型的scrapy runspider <PYTHON_FILE>命令,必须在launch.json中设置以下配置:

{
    "version": "0.1.0",
    "configurations": [
        {
            "name": "Python: Launch Scrapy Spider",
            "type": "python",
            "request": "launch",
            "module": "scrapy",
            "args": [
                "runspider",
                "${file}"
            ],
            "console": "integratedTerminal"
        }
    ]
}

在任何需要的地方设置断点,然后进行调试.

Python-3.x相关问答推荐

Pandas groupby基于索引的连续列值相等

将自定义函数应用于 pandas 数据框的每一列

Python 舍入数字不准确

如何获取自定义文件上传路径的对象ID?

如何查找以开头并替换的字符串

删除列表中的第二个出现

将自动文本转换为 DataFrame

Pandas 窗口聚合两个排序表

协议不支持地址系列在将 Scapy L3socket 与 WSL 一起使用时

为什么我不能通过索引获取字典键?

如何在python中将列表转换为其他格式

python 3集合中的Discard()和Remove()函数有什么区别

通过多个键对字典列表进行分组和聚合

plt.cm.get_cmap 中可以使用哪些名称?

如何在 QGraphicsView 中启用平移和zoom

finally 总是在 try 块返回之前运行,那么为什么 finally 块中的更新不会影响 try 块返回的变量的值呢?

如何删除目录? os.removedirs 和 os.rmdir 是否只用于删除空目录?

Django 教程 unicode 不起作用

注册 Celery 基于类的任务

如何将python日志(log)级别名称转换为整数代码