scrapy的基本构架以及简单的用法

2018.3.1

爬虫的框架总共有3中常用的分别是: Scrapy,PySpider,Selenium

而Selenium 是一款自动测试的框架。

常用的是scrapy,scrapy 是python一种爬虫框架,采用的是多线程爬虫的方式,是普通爬虫的方法的5到6倍的速度

安装 scrapy 例如:


首先第一步:先想好吧爬虫程序放在那里,我们放在桌面以方便管理

第二步:通过cmd命令来创建一个爬虫程序


这样 通过cmd命令行所做的事情就完成了桌面上就会出现创建好的项目模板。


然后把这个文件放到pycharm中打开

这样就打开了一个最基本的爬虫模板。


然后 通过pycharm的cmd命令来创建爬虫文件

scrapy genspider ivsky ivsky.com


之后打开文件 会在spiders文件目录下出现一个 ivsky.py的文件

下面开始配置settings 文件

1.robots_obey协议,scrapy自动遵循robots协议,所以好多网站都不能爬取,一个改为False

2.修改download_delay配置,scrapy默认中间间隔时间为0,防止被反爬虫发现,所以改为0.5以上。

3.cookie_enable也设置为False,来禁用cookie追踪。

4.自定义UserAgentMiddleWare以此来实现修改爬虫的ueser-agent.这个步骤可以粘贴现成的也可以通过自己研究源码来实现。

5.在setting中配置一下

从源码中粘贴过来修改之后的代码,可以实现z


6.开始解析数据

1)首先大致规划一下需要几个函数还进行解析,以便达到清晰明白的看到过程

scrapy 默认只启动parse 函数。所以用yield 关键字来进行函数之间的调用。

yield的用法 类似于return,确有区别与return,return不执行之后的代码,而yield还会执行之后的代码


如果想要把文件下载下来,scrapy 默认支持4种数据格式,分别是:.json,.csv等等

修改 item.py文件 已达到数据的处理。

把要下载的数据放到item进行处理例如


操作是把 debug文件修改一下


这是关于进程和线程的一些知识










Scrapy是一个基于Python的开源网络爬虫框架,用于快速、高效地抓取网站数据。下面是Scrapy基本使用步骤: 1. 安装Scrapy:在命令行中运行`pip install Scrapy`来安装Scrapy库。 2. 创建Scrapy项目:在命令行中使用`scrapy startproject project_name`来创建一个新的Scrapy项目。这将在当前目录下创建一个名为`project_name`的文件夹,并生成项目的基本结构。 3. 定义Item:在项目中的`items.py`文件中定义要抓取的数据结构,即Item。Item是一个类似于字典的容器,用于存储从网页中提取的数据。 4. 编写Spider:在项目中的`spiders`文件夹中创建一个Spider,用于定义如何抓取网页和提取数据。Spider是一个类,需要继承自`scrapy.Spider`,并定义一些属性和方法,如`name`(Spider的名称)、`start_urls`(要抓取的起始URL)、`parse`(解析响应的方法)等。 5. 解析响应:在Spider中编写解析响应的方法,通常命名为`parse`。在这个方法中,可以使用XPath、CSS选择器等方式来提取所需的数据,并将其存储到Item对象中。 6. 存储数据:可以选择将提取到的数据存储到文件、数据库或其他目标中。Scrapy提供了多种存储方式,如使用自带的Feed Exporter将数据导出为JSON、CSV等格式,或者编写自定义的Pipeline来处理数据存储逻辑。 7. 运行爬虫:在命令行中使用`scrapy crawl spider_name`来运行爬虫。`spider_name`是Spider的名称,需要与Spider类中的`name`属性一致。 以上是Scrapy基本使用步骤。通过配置Spider和Pipeline,可以实现更复杂的爬取和数据处理功能。可以参考Scrapy官方文档和示例代码来进一步学习和掌握Scrapy使用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值