前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >应用scrapy爬虫框架

应用scrapy爬虫框架

作者头像
luanhz
发布2020-03-31 17:07:48
4670
发布2020-03-31 17:07:48
举报
文章被收录于专栏:小数志

初识scrapy

scrapy=scrap+python,是python自动化爬虫框架,相当于一个模板。当启动了一个scrapy工程后,会自动生成若干相互关联的文件,用户仅需根据特定需求更改文件中的具体内容即可。

Scrapy爬虫框架示意图


5步完成scrapy爬虫

1.创建scrapy工程和基础爬虫

a.更改cmd目录:cd C:\Programs\Python\

b.创建一个scrapy项目:scrapy startproject ProName

c.创建一个基础爬虫类:scrapy genspider SpiName "url.com"

其中,cmd目录路径是工程的目标存放路径,ProName是scrapy项目的工程名,而SpiName则是爬虫名字,在最后启动该项目时即调用该爬虫名字,url.com是目标网站的域名,该项目还会根据域名自动生成爬虫初始页。当然,这些在后续文件中都可以手动更改,项目只是自动化生成了一个模板而已。

2.定义文件存储格式

打开爬虫下的item.py文件,定义抓取数据的存储实体

代码语言:javascript
复制
1class ProNameItem(scrapy.Item):
2    # define the fields for your item here like:
3    # name = scrapy.Field()

定义了item后,后续的抓取数据格式就都会按此存储。当然,可以在该文件中定义多类数据存储实体。

3.设计爬虫文件Spiders

在第1步的c中,创建了SpiName的基础爬虫后会自动生成一个SpiName.py文件,里面会声明一个SpinameSpider类,类下会至少包含四个要素:

代码语言:javascript
复制
class SpinameSpider(scrapy.Item):
    name = 'SpiName'
    allowed_domains = ['url.com']
    start_urls = [http://url.com]
    def parse(self, response):

其中start_urls可以是一组爬虫初始页,parse()是我们要定义的爬虫规则和获取数据方法,简单的爬虫也仅需更改此函数即可。

4.设置pipeline处理和存储数据

Pipeline原意是管道,实际上计算机专业里的流水线也是这个词。所以我们可以理解为该函数是对于抓取实体进行的一整套处理方法,包括常见的格式审查、数据去重和存入数据库中等等。

5.设置settings

进行简单的项目设置,该文件可以进行请求模拟头(UA)设置、多pipeline间优先级等,这也直接决定了该项目会如何启动爬虫及数据处理,不同的优先级会带来完全不同的效果。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-02-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 小数志 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
文件存储
文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档