赞
踩
我通过一个爬取百度贴吧hello吧页面源码的简单爬虫来讲解
Scrapy Engine(引擎):负责Spider、ItemPipeline、Downloader、Scheduler中间的通讯,信号、数据传递等。
Scheduler(调度器):它负责接受引擎发送过来的Request请求,并按照一定的方式进行整理排列,入队,当引擎需要时,交还给引擎。
Downloader(下载器):负责下载Scrapy Engine(引擎)发送的所有Requests请求,并将其获取到的Responses交还给Scrapy Engine(引擎),由引擎交给Spider来处理。
Spider(爬虫):它负责处理所有Responses,从中分析提取数据,获取Item字段需要的数据,并将需要跟进的URL提交给引擎,再次进入Scheduler(调度器)。
Item Pipeline(管道):它负责处理Spider中获取到的Item,并进行进行后期处理(详细分析、过滤、存储等)的地方。
Downloader Middlewares(下载中间件):一个可以自定义扩展下载功能的组件。
Spider Middlewares(Spider中间件):一个可以自定扩展和操作引擎和Spider中间通信的功能组件。
1.通过pip安装
pip install scrapy
Scrapy 常用命令
步骤1:
自己指定一个目录下创建一个新工程,输入命令行
比如在E盘根目录下创建
在根目录下Shift+右键,打开PS窗口
输入命令行
scrapy startproject hello
当出现下面反应证明成功建立工程(我建立了一个hello工程)
步骤2:(该步骤也可以手工完成,这里就不说了)
在工程中产生一个scrapy爬虫
首先进入工程目录,继续输入命令行
cd hello
然后在执行如下命令(生成一个名称为baidutieba的spider):
scrapy genspider baidutieba baidu.com
生成的baidutieba.py文件在hello文件里的spiders目录下
打开baidutieba.py文件进行编写爬取代码:
改写成如下代码
然后保存。
最后 再用PS窗口命令行输入
scrapy crawl baidutieba
即如下图所示:
回车运行,最后会在hello目录下生成一个hello.txt的文件,里面就是百度贴吧hello吧页面的网页源码。
上一篇文章———>高响应比优先调度算法(HRRN)例题详解
下一篇文章———>正则表达式详解
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。