zoukankan      html  css  js  c++  java
  • 如何用 PyCharm 调试 scrapy 项目

    原理:

    首先 scrapy 命令其实就是一个python脚本,你可以使用 which scrapy 查看该脚本的内容:

    from scrapy.cmdline import execute

    sys.argv[0] = re.sub(r'(-script.pyw?|.exe)?$', '', sys.argv[0])
    sys.exit(execute())

    而命令行运行scrapy项目的方式如下:

    scrapy crawl dmoz             #注意,其中的dmoz是项目目录下的spiders目录下的dmoz.py文件里的 name 属性(不是文件里面的类名,也不是文件名前缀),我的工程是: Dmoz/spiders/dmoz.py:

    # -*- coding: utf-8 -*-
    
    import scrapy
    
    class DmozSpider(scrapy.Spider):
        name = "dmoz"
        allowed_domains = ["dmoz.org"]
        start_urls = [
            "http://www.kc0011.net/",
            # "http://www.dmoz.org/Computers/Programming/Languages/Python/Resources/"
        ]
    
        def parse(self, response):
            print(response.text)

    根据这种运行方式,上面的运行可以用如下命令来代替:

    python  /home/hzh/.virtualenvs/env35/lib/python3.5/site-packages/scrapy/cmdline.py  crawl  dmoz

    下面介绍用pycharm调试scrapy工程:

    先用scrapy startproject Dmoz 创建一个scrapy工程,要在pycharm里调试该Dmoz工程:

    1、先用pycharm直接打开Dmoz目录,这样就将该目录转换成了pycharm工程(其实就是创建了一个.idea目录)

    2、在项目的Run/Debug Configuration里设置:

    script:     /home/hzh/.virtualenvs/env35/lib/python3.5/site-packages/scrapy/cmdline.py

    script parameters:   crawl dmoz

    working directory:        /home/hzh/delll/scrapy/Dmoz

    然后勾选:    Show command line afterwards 选项

    这样就可以调试了。

  • 相关阅读:
    动态规划(DP计数):HDU 5117 Fluorescent
    动态规划(DP计数):HDU 5116 Everlasting L
    动态规划(区间DP):HDU 5115 Dire Wolf
    数学(扩展欧几里得算法):HDU 5114 Collision
    二叉树面试题
    linux eval命令
    关于Shell中命令替换$(...)与后置引用`...`的不同
    linux set,env和export
    linux crontab 命令
    排序
  • 原文地址:https://www.cnblogs.com/welhzh/p/7231037.html
Copyright © 2011-2022 走看看