scrapy

作者: 山野过客 | 来源:发表于2018-12-03 23:27 被阅读0次

1.scrapy startproject projectname(项目名称)

进入到spiders文件夹下创建爬虫文件

2.scrapy genspider 爬虫文件名称 网站的域

3.使用pycharm打开项目,设置虚拟环境

进入爬虫py文件zzw.py

爬虫文件继承scrapy.Spider

先要指定爬虫文件的名称(唯一)

allowed_domains:设置允许爬取的域 (可以指定多个)

start_urls:设置起始的url (可以指定多个)

根据起始url构建请求,从引擎队列里拿到请求,最终经过下载中间件进行请求的发起,然后拿到响应给爬虫文件后调用回调方法parse

parse里接收响应结果,解析数据,提取新的url

使用response.xpath可以直接根据xpath语法提取目标数据

使用yield将item数据交给管道

进入items里

items里定义要爬取的字段

pipelines.py 管道 ,在管道里面做数据的过滤和数据的持久化

将数据存到本地

注意:在使用管道之前,要先激活管道,需要在setings 文件中激活

setting.py 设置文件

将注释掉的代码打开,在这里进行管道的激活,前面表示路径,后面跟的数字,数字越小表示优先级越高,越先经过哪个类

ITEM_PIPELINES = { 'chinaz.pipelines.ChinazPipeline': 300,}

回到 pipelines.py 管道文件中

定义 open_spider 方法,是一个可选的方法,有需要的时候就去调用,当spider 方法开启的时候,会执行,并且只调用一次,表示 爬虫开始

定义 close_spider方法, 和open_spider 方法一样,只调用一次,表示,爬虫结束

mongodb 数据持久化      将数据存入到 mongodb 数据库中

return item 的作用:

在初始化中创建数据库连接  例如:self.client = pymongo.MongoClient(host,port)

获取数据库  例如: self.db = self.client[db]

@classmethod    是一个类方法,crawler:可以从crawler里面获取到爬虫的核心组件(从settings.py设置文件中获取相关参数)

def from_crawler(cls, crawler):

例如:host = crawler.settings['MONGO_HOST']

port = crawler.settings['MONGO_PORT']

return cls(host,port)

在 setting.py 设置文件中 写入mongodb数据库相关配置如下代码

MONGO_HOST = '127.0.0.1'

MONGO_PORT = 27017

MONGO_DB = 'chinaz-99'

在 item.py 定义方法 例如:  def get_collection_name(self):          return 'categroy'

回到 pipelines.py 管道文件中

col_name = self.db[item.get_collection_name()]

col_name.insert(dict(item))

定义 close_spider()方法  爬虫结束的时候会调用    self.client.close()

mysql 数据库持久化,将数据存放在mysql 数据库中

在  piplines.py  管道文件中做mysql 的数据持久化

创建一个数据库连接  self.client = pymysql.Connect(host,user,pwd,db,charset=charset)

创建游标    self.cursor = self.client.cursor()

在setting.py 设置文件中 写入mysql 数据库相关配置

相关文章

  • 简单 Scrapy 使用小结

    Scrapy 安装Scrapy pip install scrapy Scrapy Doc 查看Scrapy的文档...

  • scrapy框架

    一、scrapy简介 二、scrapy原理 三、scrapy工作流程 四、scrapy框架的创建 五、scrapy...

  • Scrapy笔记

    Scrapy笔记 安装scrapy框架: 安装scrapy:通过pip install scrapy即可安装。 如...

  • scrapy笔记

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

  • Scrapy基础(一): 安装和使用

    安装 新建scrapy项目 目录 scrapy模板 使用pycharm调试scrapy执行流程 scrapy 终端...

  • python爬虫13:scrapy

    scrapy的结构 scrapy的工作原理 scrapy的用法

  • Scrapy笔记

    Scrapy笔记 pip 指定源安装模块 创建Scrapy项目 创建Scrapy爬虫程序 启动Scrapy爬虫 在...

  • PyCharm运行和调试Scrapy

    前言: PyCharm运行和调试Scrapy,首先需要安装Scrapy,安装Scrapy请点链接Scrapy的安装...

  • 11- Scrapy-Redis分布式

    Scrapy和Scrapy-Redis的区别 安装Scrapy-Redis Scrapy-Redis介绍 提供了下...

  • scrapy框架基本使用

    scrapy基本介绍 scrapy VS requests Mac安装 conda install scrapy ...

网友评论

      本文标题:scrapy

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