scrapy初始和简单应用

什么是Scrapy

 Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架,非常出名,非常强悍。所谓的框架就是一个已经被集成了各种功能(高性能异步下载,队列,分布式,解析,持久化等)的具有很强通用性的项目模板。对于框架的学习,重点是要学习其框架的特性、各个功能的用法即可。

安装

  1.Linux:

      pip3 install scrapy

  2.Windows:

      a. pip3 install wheel

      b. 下载twisted         http://www.lfd.uci.edu/~gohlke/pythonlibs/#twisted

      c. 进入下载目录,执行     pip3 install Twisted?17.1.0?cp35?cp35m?win_amd64.whl   # 对应下载的文件全名

      d. pip3 install pywin32

      e. pip3 install scrapy

基础使用

1.创建项目:scrapy startproject 项目名称

csrapy startprojet 项目名称

项目结构:

project_name/
   scrapy.cfg:
   project_name/
       __init__.py
       items.py
       pipelines.py
       settings.py
       spiders/
           __init__.py

scrapy.cfg   项目的主配置信息。(真正爬虫相关的配置信息在settings.py文件中)
items.py     设置数据存储模板,用于结构化数据,如:Django的Model
pipelines    数据持久化处理
settings.py  配置文件,如:递归的层数、并发数,延迟下载等
spiders      爬虫目录,如:创建文件,编写爬虫解析规则

项目结构

2.创建爬虫应用程序

cd project_name(进入项目目录)

scrapy genspider 应用名称 爬取网页的起始url

scrapy genspider qiubai www.qiushibaike.com

3.编写爬虫文件

可以利用pycharm打开此项目目录编辑

# -*- coding: utf-8 -*-
import scrapy

class QiubaiSpider(scrapy.Spider):
    # 爬虫文件的名称:根据名称可以定位到指定的爬虫文件
    name = ‘qiubai‘
    # 允许的域名
    allowed_domains = [‘www.qiushibaike.com‘]
    # 起始url列表
    start_urls = [‘http://www.qiushibaike.com/‘]

    # 用于解析:response就是起始url对应的响应对象
    def parse(self, response):
        print(response)  # 对象
        print(response.text)  # 文本
        print(response.body)  # 源数据

4.设置修改settings.py配置文件相关配置

19行:USER_AGENT = ‘Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36‘ #伪装请求载体身份

22行:ROBOTSTXT_OBEY = False  #可以忽略或者不遵守robots协议

5.执行爬虫程序:scrapy crawl  应用名称

scrapy crawl qiubai

糗百的数据处理

需求是:将糗百首页中段子的内容和标题进行爬取

原文地址:https://www.cnblogs.com/clbao/p/10257354.html

时间: 2024-11-06 02:55:26

scrapy初始和简单应用的相关文章

python爬虫----(3. scrapy框架,简单应用)

(1)创建scrapy项目 scrapy startproject getblog (2)编辑 items.py # -*- coding: utf-8 -*- # Define here the models for your scraped items # # See documentation in: # http://doc.scrapy.org/en/latest/topics/items.html from scrapy.item import Item, Field class B

Scrapy安装和简单使用

模块安装 Windows 安装scrapy 需要安装依赖环境twisted,twisted又需要安装C++的依赖环境 pip install scrapy  时 如果出现twisted错误 在https://www.lfd.uci.edu/~gohlke/pythonlibs/ 下载对应的Twisted的版本文件(cp36代表python3.6版本) 再cmd进入到Twisted所在的目录  执行pip install 加Twisted文件名 最后执行pip install scrapy Ubu

使用Scrapy爬虫框架简单爬取图片并保存本地(妹子图)

初学Scrapy,实现爬取网络图片并保存本地功能 一.先看最终效果 保存在F:\pics文件夹下 二.安装scrapy 1.python的安装就不说了,我用的python2.7,执行命令pip install scrapy,或者使用easy_install 命令都可以 2.可能会报如下错误 *********************************************************** Could not find function xmlCheckVersion in l

Scrapy爬取简单百度页面

Scrapy爬取百度页面 ------------------------------------------ spiders-baiduspider.py 1 ''' 2 要求导入scrapy 3 所有类一般是XXXSpider命名 4 所有爬虫类是scrapy.Spider的子类 5 scrapy爬取百度 6 关闭配置的机器人协议 7 ''' 8 9 import scrapy 10 11 class BaiduSpider(scrapy.Spider): 12 13 # name是爬虫的名

网页爬虫--scrapy入门

本篇从实际出发,展示如何用网页爬虫.并介绍一个流行的爬虫框架~ 1. 网页爬虫的过程 所谓网页爬虫,就是模拟浏览器的行为访问网站,从而获得网页信息的程序.正因为是程序,所以获得网页的速度可以轻易超过单身多年的手速:).通常适用于需要大量网页信息的场合. 爬取网页的流程为:访问初始url -> 获得返回的网页,从这个网页中得到新的url并放入待爬队列 -> 访问新的url-> ...依次循环.整体上来看就是一个广度优先的过程,当然,新的url也不一定非要从返回的网页中获得. 一个简单的网页

【转】Duplicate Elimination in Scrapy

本文转载自:http://blog.pluskid.org/?p=381 之前介绍 Scrapy 的时候提过 Spider Trap ,实际上,就算是正常的网络拓扑,也是很复杂的相互链接,虽然我当时给的那个例子对于我感兴趣的内容是可以有一个线性顺序依次爬下来的,但是这样的情况在真正的网络结构中通常是少之又少,一但链接网络出现环路,就无法进行拓扑排序而得出一个依次遍历的顺序了,所以 duplicate elimination 可以说是每一个 non-trivial 的必备组件之一,这样就算在遍历的

爬虫Scrapy学习指南之抓取新浪天气

scrapy有一个简单的入门文档,大家可以参考一下,我感觉官方文档是最靠谱的,也是最真实的. 首先我们先创建一个scrapy的项目 scrapy startproject weather 我采用的是ubuntu12.04的系统,建立项目之后主文件夹就会出现一个weather的文件夹.我们可以通过tree来查看文件夹的结构.可以使用sudoapt-get install tree安装. tree weather weather ├── scrapy.cfg ├── wea.json ├── wea

爬虫系列之Scrapy框架

一 scrapy框架简介 1 介绍 (1) 什么是Scrapy? Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架,非常出名,非常强悍.所谓的框架就是一个已经被集成了各种功能(高性能异步下载,队列,分布式,解析,持久化等)的具有很强通用性的项目模板.对于框架的学习,重点是要学习其框架的特性.各个功能的用法即可. Scrapy一个开源和协作的框架,其最初是为了页面抓取 (更确切来说, 网络抓取 )所设计的,使用它可以以快速.简单.可扩展的方式从网站中提取所需的数据.但目前Scra

Python爬虫从入门到放弃(十一)之 Scrapy框架整体的一个了解

这里是通过爬取伯乐在线的全部文章为例子,让自己先对scrapy进行一个整理的理解 该例子中的详细代码会放到我的github地址:https://github.com/pythonsite/spider/tree/master/jobboleSpider 注:这个文章并不会对详细的用法进行讲解,是为了让对scrapy各个功能有个了解,建立整体的印象. 在学习Scrapy框架之前,我们先通过一个实际的爬虫例子来理解,后面我们会对每个功能进行详细的理解.这里的例子是爬取http://blog.jobb