原理:

首先 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 选项

这样就可以调试了。

如何用 PyCharm 调试 scrapy 项目的更多相关文章

  1. pycharm调试scrapy

    pycharm调试scrapy 创建一个run.py文件作为调试入口 run.py中,name是要调试的爬虫的名字(注意,是爬虫类中的name,而不是爬虫类所在文件的名字) 拼接爬虫运行的命令,然后用 ...

  2. pycharm下运行和调试scrapy项目

    1. 新建项目 默认在本地已经新建了一个scrapy爬虫项目 2. 打开项目 点击open à 选择刚刚那个本地的scrapy项目meijutt100 3. 项目结构 各个py文件的作用不作介绍,不懂 ...

  3. 如何用 pycharm 调试 airflow

    airflow 和 pycharm 相关基础知识请看其他博客 我们在使用 airflow的 dag时. 每次写完不知道对不对的,总不能到页面环境中跑一下,等到报错再调试吧.这是很让人恼火的事情 这里我 ...

  4. pycharm创建scrapy项目教程及遇到的坑

    最近学习scrapy爬虫框架,在使用pycharm安装scrapy类库及创建scrapy项目时花费了好长的时间,遇到各种坑,根据网上的各种教程,花费了一晚上的时间,终于成功,其中也踩了一些坑,现在整理 ...

  5. 使用pycharm调试django项目

    要使用pycharm调试django 打断点调试后台代码,首先要进行一下配置: 1.debug 配置 打开debug界面 2.选择python点+加号,然后选择python 3.名字debug,这个看 ...

  6. scrapy(一)--Pycharm创建scrapy项目

    1.环境 操作系统:windows10. python版本:python3.6,Anaconda(将Anaconda3\Scripts;路径添加到环境变量Path中) pycharm:pycharm2 ...

  7. pycharm 调试django项目时,debug断点没反应???

    入门python.django框架时,使用pycharm断点调试时,发现打的断点没反应,不起作用!上网上稍微一查,90%的都差不多,需要新建一个python程序,重新配置一遍,的确可以成功! 操作链接 ...

  8. Pycharm调试django项目时发现断点失效

    解决方法: 第一步: 第二步: 点击 Edit Configuration 第三步 : 点击 + 选择python 填写相关参数信息 或者 点击ok  完成配置  重启 IDE 注意   重启IDE ...

  9. pycharm 调试 scrapy

    http://blog.csdn.net/shijichao2/article/details/61940931

随机推荐

  1. 【转】社区O2O的增量与存量,机会在哪?

    在[O2凹凸社]的前一篇<社区O2O创业百态:三教九流>中总结过目前社区O2O行业的创业氛围,那更进一步看为何有这么多创业者想进入社区O2O市场呢?社区O2O的吸引力在哪?机会又在哪? 一 ...

  2. cx_Freeze的生成可执行文件

    ①.生成setup.py文件,仿照cx_Freeze给的例子 ②.python setup.py build 生成单个的可执行,会自动带着需要的动态链接库的.默认路径:build\bdist.win3 ...

  3. LandMVC HttpHandler web.config配置

    <system.webServer> <validation validateIntegratedModeConfiguration="false" /> ...

  4. 在其模块列表中有一个错误模块“ManagedPipelineHandler”。

    C:\Windows\Microsoft.NET\Framework\v4.0.30319 命令行: aspnet_regiis -i

  5. c# windows service(服务)

    //安装%SystemRoot%\Microsoft.NET\Framework\v4.0.30319\installutil.exe WindowsServiceTest.exe //卸载%Syst ...

  6. EasyDarwin开发出相似于美拍、秒拍的短视频拍摄SDK:EasyVideoRecorder

    EasyVideoRecorder Github:https://github.com/EasyDarwin/EasyVideoRecorder EasyVideoRecorder作为一款短视频拍摄的 ...

  7. Oracel 数据库面试题

    1.取出表中第31到40行的记录mysql方案: , oracle方案: select t2.* ) t2 2.truncate和delete有什么区别TRUNCATE TABLE在功能上与不带WHE ...

  8. poj 3348:Cows(计算几何,求凸包面积)

    Cows Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 6199   Accepted: 2822 Description ...

  9. hdu 1180:诡异的楼梯(BFS广搜)

    诡异的楼梯 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/65536 K (Java/Others)Total Subm ...

  10. iOS开发之--最简单的导航按钮更换方法/导航颜色的改变

    有很多时候,我们需要用到导航,那么更换导航的时候,是在那用那修改,还是自定义一个导航,或者是声明一个代理方法,经过查资料和对导航属性的一些了解,用一种方法最为简单,就是在入口类里面添加一个方法,调用偏 ...