python爬虫:scrapy命令明细:全局命令 (转)

申明:本文《scrapy命令明细:全局命令》 属于【Scrapy 中文网】


scrapy命令其实灰常少,也就十四五个,在这十四五个中,常用的就纳么两三个而已

scrapy startproject # (创建项目)
scrapy crawl XX #(运行XX蜘蛛)
scrapy shell http://www.scrapyd.cn #(调试网址为http://www.scrapyd.cn的网站)

一、startproject

这个是见得最多,创建项目的,如,创建一个名为:scrapyChina的项目:

scrapy strartproject scrapychina

用法灰常简单,你能看到这里,应该已经用过多次了,就这么简单;


二、genspider

这个命令的话是根据蜘蛛模板创建蜘蛛的命令,我们有一篇文章:《scrapy命令:genspider详解》,这篇文章已经对scrapy命令genspider的祖祖孙孙做了一个灰常详细的解密,这里不重复大家跳转了看哈!


三、settings

看字面意思,相信聪明的你已经知道它是干嘛的了!其实它就是方便你查看到你对你的scrapy设置了些神马参数!比如我们想得到蜘蛛的下载延迟,我们可以使用:

scrapy settings --get DOWNLOAD_DELAY

比如我们想得到蜘蛛的名字:

scrapy settings --get BOT_NAME

不常用,记得有这么一个就行了!


四、runspider

这个命令有意思,上面我们介绍过,运行蜘蛛除了使用:scrapy crawl XX之外,我们还能用:runspider,前者是基于项目运行,后者是基于文件运行,也就是说你按照scrapy的蜘蛛格式编写了一个py文件,那你不想创建项目,那你就可以使用runspider,比如你编写了一个:scrapyd_cn.py的蜘蛛,你要直接运行就是:

scrapy runspider scrapy_cn.py

五、shell

这个命令比较重要,主要是调试用,里面还有很多细节的命令,我们会专门出一期专题详说,这里的话你需要记住它的使用方法,比如我们要调试http://www.scrapyd.cn,看我们的选择器到底有木有正确选中某个元素,那我们就可以这样来玩,首先用调试打开:http://www.scrapyd.cn(scrpay中文网):

scrapy shell http://www.scrapyd.cn

然后我们可以直接执行命令,response,比如我们要测试我们获取标题的选择器正不正确,我们可以这样:

response.css("title").extract_first()

python爬虫:scrapy命令明细:全局命令 (转)_第1张图片

基本上,这就是这个命令最常用的用法,应该记住它就是调试用的,至于里面的详细参数,我们会专门出一个专题细说,请关注!


六、fetch

这个命令其实也可以归结为调试命令的范畴!它的功效就是模拟我们的蜘蛛下载页面,也就是说用这个命令下载的页面就是我们蜘蛛运行时下载的页面,这样的好处就是能准确诊断出,我们的到的html结构到底是不是我们所看到的,然后能及时调整我们编写爬虫的策略!举个栗子,淘宝详情页,我们一般看得到,但你如果按常规的方法却爬不到,为神马?因为它使用了异步传输!因此但你发现获取不到内容的时候,你就要有所警觉,感觉用fetch命令来吧它的html代码拿下来看看,到底有木有我们想要的那个标签节点,如果木有的话,你就要明白我们需要使用js渲染之类的技术!用法很简单:

scrapy fetch http://www.scrapyd.cn

就这样,如果你要把它下载的页面保存到一个html文件中进行分析,我们可以使用window或者linux的输出命令,这里演示window下如下如何把下载的页面保存:

scrapy fetch http://www.scrapyd.cn >d:/3.html

python爬虫:scrapy命令明细:全局命令 (转)_第2张图片

可以看到,经过这个命令,scrapy下载的html文件已经被存储,接下来你就全文找找,看有木有那个节点,木有的话,毫无悬念,使用了异步加载!


七、view

和fetch类似都是查看蜘蛛看到的是否和你看到的一致,便于排错,用法:

scrapy view http://www.scrapyd.cn

八、version

不多说,查看scrapy版本,用法:

scrapy version

你可能感兴趣的:(python3,pycharm,爬虫,scrapy,爬虫)