专栏首页小数志应用scrapy爬虫框架

应用scrapy爬虫框架


初识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文件,定义抓取数据的存储实体

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类,类下会至少包含四个要素:

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间优先级等,这也直接决定了该项目会如何启动爬虫及数据处理,不同的优先级会带来完全不同的效果。

本文分享自微信公众号 - 小数志(Datazhi),作者:Omega

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-02-02

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 瓜子二手车市场分析(Scrapy+Tableau)

    本文对瓜子网杭州二手车进行了爬取和简单分析,一方面是为了进一步熟练使用Python的Scrapy爬虫框架,另一方面是为了熟悉Tableau强大的数据可视化功能。

    luanhz
  • 学习python爬虫的平凡之路

    luanhz
  • python数据科学系列:matplotlib入门详细教程

    上篇中,介绍了numpy的常用接口及使用,并对部分接口方法进行了详细对比。与之齐名,matplotlib作为数据科学的的另一必备库,算得上是python可视化领...

    luanhz
  • 爬虫框架Scrapy(一)

    Absorb what is useful. Discard what is not. Add what is uniquely your own.

    小闫同学啊
  • Scrapy框架: 基本命令

    hankleo
  • Scrapy1.4最新官方文档总结 3 命令行工具配置设置使用 scrapy 工具创建项目管理项目Scrapy 的可用命令parse

    这是官方文档的命令行工具https://docs.scrapy.org/en/latest/topics/commands.html 配置设置 Scrapy 默...

    SeanCheney
  • YYModel 源码剖析:关注性能

    json与模型的转换框架很多,YYModel 一出,性能吊打同类组件,终于找了些时间观摩了一番,确实收益颇多,写下此文作为分享。

    波儿菜
  • 爬虫练习_使用scrapy爬取淘宝

    https://s.taobao.com/search?q=%E5%A5%B3%E8%A3%85+%E8%A3%99&imgfile=&js=1&stats_c...

    zx钟
  • 用Scrapy爬取当当网书籍信息

    今天通过创建一个爬取当当网2018年图书销售榜单的项目来认识一下Scrapy的工作流程

    佛系编程人
  • 《手把手带你学爬虫──初级篇》第6课 强大的爬虫框架Scrapy

    Scrapy是一个Python爬虫应用框架,爬取和处理结构性数据非常方便。使用它,只需要定制开发几个模块,就可以轻松实现一个爬虫,让爬取数据信息的工作更加简单高...

    GitOPEN

扫码关注云+社区

领取腾讯云代金券