Scrapy入门

作者: analanxingde | 来源:发表于2017-12-15 14:59 被阅读17次

Scrary:一个开源友好的扩展性强框架,主要作用从网站上抓取所需要的数据。优点:快速,强大,扩展性强,无需接触核心代码即可使用,python编写可移植型强。

包的安装:

http://www.cnblogs.com/python-life/articles/4511314.html

一个简单地scrapy spider编写过程

  • 创建工程
    创建工程的命令scrapy startproject project_name
    在genspider的基础上改写想要的内容cd project_name
    创建spiderscrapy genspider dmoz_spider(spider_name) dmoz.org(目标网站)
  • 定义要摘取的内容
    在items.py中定义要爬取的内容
    title=scrapy.Field()
  • 编写spider
    修改文件夹中的spider下的dmoz_spider.py文件
  • 修改pipeline
    修改pipeline.py
  • 运行
    运行,命令行输入:scrapy crawl dmoz_spider(spider_name)
    列出一个工程中的爬虫:scrapy list

scrapy命令行工具

scrapy --help用于查看帮助信息
scrapy version (-v)用于显示scrapy版本信息,加上-v显示各组件的版本
startproject:scrapy startproject project_name创建一个工程和其相对完整的目录结构
genspiderscrapy genspider dmoz_spider(spider_name) dmoz.org(目标网站)在一个工程中(cd之后)运行产生一个spider,可以产生多个spider,要求spider名称不同
scrapy list:用来查看本工程中的spider名称
scrapy view +url:查看页面源码在浏览器中显示的样子
scrapy parse:在工程中以固定的parse函数(工程中的函数)解析某个页面,可以进一步判断parse函数是否有误
scrapy shell:用于调试数据,检测xpath,查看页面源码等,执行命令进入交互式页面,可以产生一些供使用的全局变量
scrapy runspider spider_name.py:运行一个自包含的爬虫
scrapy bench:基准测试,用来测试scrapy安装是否成功

scrapy的重要组件

spider:定义如何爬取一个网站,包括怎样跟踪连接,怎样提取数据,基本流程:

  1. 产生初始requests
  2. parse函数解析requests对应的response
  3. 使用selector抽取需要的信息
  4. 存储item

selector:解析网页的库还有beautifulsoup,lxml。但是scrapy中默认的是selector。常用的抽取方法:

  • xpath response.xpath('//title/text()')
  • css response.css(title::text)
  • re
  • extract

item :定义要抓取的属性

import scrapy
class Product(scrapy.Item):
          name=scrapy.Field()
          price=scrapy.Field()

pipeline:清洗html数据,检验数据,存储数据

from scrapy.exceptions import DropItem
class PricePipeline(object):
          vat_factor=1.15
          def process_item(self,item,spider):
                  if item['price']:
                          ...
                  else:
                          ...

要想使得pipeline生效,必须要做的事在setting.py中加入以下内容:

ITEM_PIPELINES={
             'myproject.pipeline.PricePipeline':300,
             'myproject.pipeline.pricePipeline':800,
             #'路径':优先级,先执行优先级低的再执行优先级搞得
}

Feed Export:存储抓取到的数据
存储格式包括:

  • JSON
  • JSON lines
  • CSV
  • XML
    存储位置包括:本地,S3,FTP,标准输出

相关文章

  • scrapy笔记

    1 scrapy的运行原理 参考:Learning Scrapy笔记(三)- Scrapy基础Scrapy爬虫入门...

  • Scrapy入门案例

    Scrapy入门案例 Scrapy教程: 官方 《Scrapy 1.5 documentation》 中文 《S...

  • scrapy小记

    scrapy入门学习地图 scrapy 框架:http://doc.scrapy.org/en/latest/to...

  • 28.scrapy的入门使用

    scrapy的入门使用 学习目标: 掌握 scrapy的安装 应用 创建scrapy的项目 应用 创建scrapy...

  • scrapy入门使用及pycharm远程调试

    一·scrapy的入门使用 scrapy的安装 创建scrapy项目 创建scrapy爬虫:在项目目录下执行 运行...

  • (大纲37)Python07爬虫 第4节、scrapy框架

    7、爬虫4、scrapy框架 1.4.0Scrapy框架1.4.1配置安装1.4.2入门案例1.4.3Scrapy...

  • scrapy 学习日记

    文章出处:【scrapy】学习Scrapy入门 整体结构 引擎(Scrapy Engine),用来处理整个系统的数...

  • scrapy折腾系列01

    scrapy爬虫折腾 1、scrapy爬虫入门 scrapy是框架,好比一辆车子,beautifulsoup好比一...

  • DC-01:爬虫框架scrapy入门

    本主题主要是scrapy入门,包含内容如下:  1. Scrapy框架环境搭建;  2. 理解scrapy框架结...

  • Scrapy简记

    摘自Scrapy 中文文档 一:入门 scrapy startproject tutorial创建新的爬虫项目 s...

网友评论

    本文标题:Scrapy入门

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