pycharm下打开、执行并调试scrapy爬虫程序的方法


Posted in Python onNovember 29, 2017

首先得有一个Scrapy项目,我在Desktop上新建一个Scrapy的项目叫test,在Desktop目录打开命令行,键入命令:scrapy startproject test1

pycharm下打开、执行并调试scrapy爬虫程序的方法

目录结构如下:

pycharm下打开、执行并调试scrapy爬虫程序的方法

pycharm下打开、执行并调试scrapy爬虫程序的方法

pycharm下打开、执行并调试scrapy爬虫程序的方法

打开Pycharm,选择open

pycharm下打开、执行并调试scrapy爬虫程序的方法

选择项目,ok

pycharm下打开、执行并调试scrapy爬虫程序的方法

打开如下界面之后,按alt + 1, 打开project 面板

pycharm下打开、执行并调试scrapy爬虫程序的方法

pycharm下打开、执行并调试scrapy爬虫程序的方法

在test1/spiders/,文件夹下,新建一个爬虫spider.py, 注意代码中的name="dmoz"。这个名字后面会用到。

pycharm下打开、执行并调试scrapy爬虫程序的方法

在test1目录和scrapy.cfg同级目录下面,新建一个begin.py文件(便于理解可以写成main.py),注意箭头2所指的名字和第5步中的name='dmoz'名字是一样的。

from scrapy import cmdline
cmdline.execute("scrapy crawl dmoz".split())

pycharm下打开、执行并调试scrapy爬虫程序的方法

7. 上面把文件搞定了,下面要配置一下pycharm了。点击Run->Edit Configurations

pycharm下打开、执行并调试scrapy爬虫程序的方法

8. 新建一个运行的python模块

pycharm下打开、执行并调试scrapy爬虫程序的方法

9. Name:改成spider; script:选择刚才新建的那个begin.py文件;Working Direciton:改成自己的工作目录

pycharm下打开、执行并调试scrapy爬虫程序的方法

10. 至此,大功告成了,点击下图,右上角的按钮就能运行了。

pycharm下打开、执行并调试scrapy爬虫程序的方法

调试

可以在其他代码中设置断点,就可以debug运行

pycharm下打开、执行并调试scrapy爬虫程序的方法

pycharm下打开、执行并调试scrapy爬虫程序的方法

遇到问题

1. Unknown command: crawl

调试运行,断点并未命中,控制台输出信息如下:

H:\Python\Python36\python.exe "H:\Program Files (x86)\JetBrains\PyCharm Community Edition 4.5.4\helpers\pydev\pydevd.py" --multiproc --client 127.0.0.1 --port 59810 --file H:/Python/Python36/Lib/site-packages/scrapy/cmdline.py crawl quotes -o quotes.jl
pydev debugger: process 4740 is connecting

Connected to pydev debugger (build 141.3058)
Scrapy 1.3.2 - no active project

Unknown command: crawl

Use "scrapy" to see available commands

Process finished with exit code 2

工作目录设置有误,造成无法识别 scrapy 命令,按照上文所说,将工作目录设置为包含 scrapy.cfg,重新运行,问题解决。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python使用代理抓取网站图片(多线程)
Mar 14 Python
Python中利用sorted()函数排序的简单教程
Apr 27 Python
Python模块结构与布局操作方法实例分析
Jul 24 Python
使用Python操作excel文件的实例代码
Oct 15 Python
python中找出numpy array数组的最值及其索引方法
Apr 17 Python
python实现输入数字的连续加减方法
Jun 22 Python
Pandas 数据处理,数据清洗详解
Jul 10 Python
python实现屏保计时器的示例代码
Aug 08 Python
Python变量类型知识点总结
Feb 18 Python
python线程信号量semaphore使用解析
Nov 30 Python
python针对Oracle常见查询操作实例分析
Apr 30 Python
如何基于pandas读取csv后合并两个股票
Sep 25 Python
Python快速排序算法实例分析
Nov 29 #Python
Python3学习urllib的使用方法示例
Nov 29 #Python
Python实现的选择排序算法示例
Nov 29 #Python
Python实现的桶排序算法示例
Nov 29 #Python
[原创]教女朋友学Python(一)运行环境搭建
Nov 29 #Python
对变量赋值的理解--Pyton中让两个值互换的实现方法
Nov 29 #Python
基于Python函数的作用域规则和闭包(详解)
Nov 29 #Python
You might like
织梦模板标记简介
2007/03/11 PHP
PHP中nowdoc和heredoc使用需要注意的一点
2014/03/21 PHP
php分页原理 分页代码 分页类制作教程
2016/09/23 PHP
Linux下快速搭建php开发环境
2017/03/13 PHP
微信第三方登录(原生)demo【必看篇】
2017/05/26 PHP
php两点地理坐标距离的计算方法
2018/12/29 PHP
asp函数split()对应php函数explode()
2019/02/27 PHP
Laravel框架中集成MongoDB和使用详解
2019/10/17 PHP
jQuery UI 实现email输入提示实例
2013/08/15 Javascript
指定区域的图片自动按比例缩小的js代码(防止页面被图片撑破)
2014/02/21 Javascript
JS实现简单路由器功能的方法
2015/05/27 Javascript
深入理解jQuery之事件移除
2016/06/02 Javascript
微信小程序的动画效果详解
2017/01/18 Javascript
jQuery Ajax全解析
2017/02/13 Javascript
基于Vue生产环境部署详解
2017/09/15 Javascript
基于vue cli重构多页面脚手架过程详解
2018/01/23 Javascript
快速了解vue-cli 3.0 新特性
2018/02/28 Javascript
在Vue中获取组件声明时的name属性方法
2018/09/12 Javascript
ES7之Async/await的使用详解
2019/03/28 Javascript
微信小程序 wxParse插件显示视频问题
2019/09/27 Javascript
微信小程序文章详情功能完整实例
2020/06/03 Javascript
vue a标签点击实现赋值方式
2020/09/07 Javascript
[01:07:19]2018DOTA2亚洲邀请赛 4.5 淘汰赛 Mineski vs VG 第一场
2018/04/06 DOTA
[05:37]DOTA2-DPC中国联赛 正赛 Elephant vs iG 选手采访
2021/03/11 DOTA
Python和php通信乱码问题解决方法
2014/04/15 Python
分析并输出Python代码依赖的库的实现代码
2015/08/09 Python
Python中循环引用(import)失败的解决方法
2018/04/22 Python
Python实现的堆排序算法示例
2018/04/29 Python
Python 实现王者荣耀中的敏感词过滤示例
2019/01/21 Python
Python全面分析系统的时域特性和频率域特性
2020/02/26 Python
简单了解Python变量作用域正确使用方法
2020/06/12 Python
css3 transform过渡抖动问题解决
2020/10/23 HTML / CSS
有原因的手表:Flex Watches
2019/03/23 全球购物
幼儿园校车司机的岗位职责
2014/01/30 职场文书
不同意离婚答辩状
2015/05/22 职场文书
合作意向书范本
2019/04/17 职场文书