利用Scrapy框架爬取豆瓣TOP250

作者: coder_it | 来源:发表于2018-10-10 22:55 被阅读147次

一、Scrapy是什么

百度是这么说的:
1、Scrapy,Python开发的一个快速、高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据。Scrapy用途广泛,可以用于数据挖掘、监测和自动化测试
其实说白了Scrapy就是Python网络爬虫的一个很强的框架
2、怎么安装Scrapy...
这个先略过不懂的自己先百度去,因为里面的坑比较多
3、看看scrapy的原理图 :
Scrapy使用了Twisted异步网络库来处理网络通讯

image.png
注明:图片来源于互联网

(1)、Scrapy Engine(Scrapy引擎)

Scrapy引擎是用来控制整个系统的数据处理流程,并进行事务处理的触发。更多的详细内容可以看下面的数据处理流程。

(2)、Scheduler(调度)

调度程序从Scrapy引擎接受请求并排序列入队列,并在Scrapy引擎发出请求后返还给他们。

(3)、Downloader(下载器)

下载器的主要职责是抓取网页并将网页内容返还给蜘蛛( Spiders)。

(4)、Spiders(蜘蛛)

蜘蛛是有Scrapy用户自己定义用来解析网页并抓取制定URL返回的内容的类,每个蜘蛛都能处理一个域名或一组域名。换句话说就是用来定义特定网站的抓取和解析规则。
原理图大家看看大概可以理解就行

二、Scrapy创建项目


捕获.JPG

里面的命令都很清晰吧
scrapy startproject xxx
xxx表示爬虫的名字:

捕获3.JPG

这个是它的结构创建成功之后会自动生成的一些配置和spider文件

scrapy shell http://www.baidu.com

捕获1.JPG
200表示请求数据成功

三、开始爬取豆瓣top250


1.JPG

我们要获取的数据这个<div class="article"></div>标签里面
可以用xpath或者CSS都可以,我用的是xpath解析数据,可以自己去下载一个xpath helper然后拖到Google浏览器里面去
1)新建douban


2.JPG

2)定义items

4.JPG

3)xapth解析数据

7.JPG

如何运行这个爬虫?命令行:
scrapy crawl douban_spider

也可以这样子


9.JPG

最后附上一张图

577.jpg 1111.jpg 1438.png

下一篇文章告诉大家怎么把爬取的数据保存为TXT或者json数据和MySQL里面去

相关文章

网友评论

    本文标题:利用Scrapy框架爬取豆瓣TOP250

    本文链接:https://www.haomeiwen.com/subject/mpomaftx.html