scrapy_基本使用

scrapy框架的基本使用 一、使用场景 在需要爬取的数据量极大的情况下,建议使用scrapy框架。性能好。 二、scrapy工作原理 engine 引擎,类似于一个中间件,负责控制数据流在系统中的所有组件之间流动,可以理解为“传话者” spider 爬虫,负责解析response和提取Item downloader 下载器,负责下载网页数据给引擎 scheduler 调度器,负责将... 阅读详情

1.介绍

     Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架,可以应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中。

2.安装scrapy

第一步:pip install scrapy


安装过程中出错:

如果 pip install Scrapy有错误
(1)building 'twisted.test.raiser' extension error: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools": http://landinghub.visualstudio.com/visual‐cpp‐build‐tools


解决方案:去这个网站 http://www.lfd.uci.edu/~gohlke/pythonlibs/#twisted
下载twisted对应版本的whl文件(如我的Twisted‐17.5.0‐cp36‐cp36m‐win_amd64.whl),cp后面是 python版本,amd64代表64位,然后运行命令:
pip install C:\Users\...\Twisted‐17.5.0‐cp36‐cp36m‐win_amd64.whl
再重新输入: pip install Scrapy


(2)如果再报错
输入 :python ‐m pip install ‐‐upgrade pip


如果再报错 win32 解决方法:
输入:pip install pypiwin32


(3)再报错:使用anaconda
使用步骤:

  • 打开anaconda
  • 点击environments
  • 点击not installed
  • 输入scrapy
  • apply
  • 在pycharm中选择anaconda的环境

3.项目创建

在终端中输入 scrapy startproject 项目名称

注:项目名字不允许数字开头,也不能包含中文

4.项目组成

spiders目录下的文件:

  •    __init__.py     自定义的爬虫文件.py   由我们自己创建,是实现爬虫核心功能的文件
  • __init__.py
  • items.py          定义数据结构的地方,是一个继承自scrapy.Item的类
  • middlewares.py    中间件 代理
  • pipelines.py    管道文件,里面只有一个类,用于处理下载数据的后续处理,默认是300优先级,值越小优先级越高(1‐1000)
  • settings.py      配置文件 比如:是否遵守robots协议,User‐Agent定义等 ,robots协议会使爬取不到数据所以,最好不开启

 5.创建爬虫文件

在spiders目录中创建爬虫文件

  1. cd 项目名称\项目名称\spiders
  2. scrapy genspider 爬虫文件名 要爬取的网页

6.运行爬虫

scrapy crawl 爬虫名字

注:要在spiders文件中执行

 7.爬虫文件的基本组成

class BaiduSpider(scrapy.Spider):
    # 爬虫的名字 用于运行爬虫使用的值
    name = 'baidu'
    #允许访问的域名
    allowed_domains = ['baidu.com']
    #起始url地址指的是第一次要访问的域名,在爬取的时候,如果不是此域名之下的
url,会被过滤掉,如果是html结尾的最后斜杠不要,不然会访问不到

    start_urls = ['http://baidu.com/']

    def parse(self, response):
        print('hhhhhhhhhhh')

 8.常用方法

text响应的是字符串
body 响应的是二进制文件
xpath()返回的值类型是selector列表
extract() 提取的是selector对象的data
extract_first()提取的是selector列表中的第一个数据

9.scrapy工作原理

    spiders先发送url给引擎,引擎继续发送url给调度器,调度器在打出个请求,之后下载器向互联网发送请求下载数据,下载器下完数据(response)后发送给spiders通过xpath解析数据,解析结果交由引擎判断如果是数据就给管道存到文件或者数据库,如果是url就给调度器继续执行以上操作。

ScrapyScrapy教程6——提取数据 前一小节我们拿到了页面的数据,那页面中那么多内容,我们想要其中的部分内容,该如何获取呢?这就需要对我们下载到的数据进行解析,提取出来想要的数据,这节就讲讲如何提取数据。 阅读详情

相关推荐

ScrapyScrapy教程5——第一个Scrapy项目

通过前几节的学习,我们已经了解了Scrapy基本操作,下面我们开始第一个项目,我以本人的为例进行爬虫讲解,之所以用我自己的网站,是因为我这个网站本来就是做知识分享用的,共大家学习,不会去限制爬取,现在很多网站为了防止爬虫,都会做很多限制策略,不适合新手练习,本人就提供这样一个练习平台给大家。

jayhgq的博客 1049

scrapy简单使用

关于scrapy的常用命令,组件、功能、流程介绍,让你5分钟搭建属于自己的爬虫项目

m0_52839423的博客 1487

scrapy】学习Scrapy入门

Scrapy介绍 Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架。 可以应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中。 所谓网络爬虫,就是一个在网上到处或定向抓取数据的程序,当然,这种说法不够专业,更专业的描述就是,抓取特定网站网页的HTML数据。抓取网页的一般方法是,定义一个入口页面,然后一般一个页面会有其他页面的URL,于是从当前页面获取到这些URL加

Jason Ding的专栏 2797

爬虫——scrapy基本使用

定义一个管道类重写管道类的process_item方法process_item方法处理完item之后必须返回给引擎# 爬虫文件中提取数据的方法每yield一次item,就会运行一次# 该方法为固定名称函数# 参数item默认是一个 <class 'mySpider.items.MyspiderItem'>类信息,需要处理成字典# 将返回的字典数据转为JSON数据# 写入JSON数据# 参数item:是爬虫文件中yield的返回的数据对象(引擎会把这个交给管道中的这个item参数)

qq_53256193的博客 4397

Scrapy使用

Scrapy使用一. Scrapy的简介与安装(1) Mac或Linux的安装(2) Windows安装(3) Scrapy框架简介(4) 大致流程二. 创建项目三. 运行项目(1)命令行运行(2)创建py文件运行四. 设置settings.py五. Scrapy解析数据六. 存储数据(1)基于终端指令进行持久化存储(2)基于管道进行持久化存储(重点)七. 手动发送请求八. 请求传参参考 一. Scrapy的简介与安装 (1) Mac或Linux的安装 直接pip install scrapy (2) W

Xzike的博客 1961

Scrapy基本使用

主要记录了scrapy的一些基础使用(文件下载及路径名称修改,图片下载及路径名称修改,item浅拷贝导致的数据错乱,写入数据库)以及踩坑填坑的经历

qq_45799465的博客 2852

超详细的Scrapy框架的基本使用教程

scrapy框架;Python爬虫

什么时候才不是菜鸟.... 1万+

scrapy框架的安装与基本使用,scrapy分页数据的抓取

本章主要是讲解scrapy的安装与基本使用,讲解scrapy的实现基本流程,以及如何使用scrapy进行分页抓取数据

qq_63713328的博客 2151

Scrapy使用scrapy五大基本构成

目录 scrapy使用 Scrapy五大基本构成: from urllib import request import re #定义url page=100 url='网站路径' try: #定义请求头 headers={'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.51 Safari/537...

hy3131的博客 265

Scrapy 安装介绍以及基本操作

在写之前我们先来了解一下什么是ScrapyScrapy是用纯Python实现一个为了爬取网站数据、提取结构性数据而编写的应用框架,用途非常广泛 框架的力量,用户只需要定制开发几个模块就可以轻松的实现一个爬虫,用来抓取网页内容以及各种图片,非常之方便 Scrapy 使用了 Twisted['twɪstɪd](其主要对手是Tornado)异步网络框架来处理网络通讯,可以加快我们的下载速度,不...

qq_42543250的博客 6万+

Python爬虫——Scrapy基本使用

parse():解析的方法,解析返回的响应、提取数据或者进一步生成要处理的请求;创建成功,项目文件如下:Scrapy 框架将整个爬虫项目分成了不同的模块,其中每个模块负责处理不同的工作,而且模块之间紧密联系。allowed_domains:允许访问的域名,如果后续请求中的域名不是这个域名或不是这个域名的子级域名,则请求会被过滤掉。name:爬虫文件的名字,必须是唯一的,用于运行爬虫和区分不同的爬虫。start_urls,初始的url地址,爬虫在启动时访问的域名。第一个参数是 python爬虫文件的名称。

万里顾一程的博客 4937

PythonScrapy爬虫框架安装及使用详解

Scrapy 是用 Python 实现的一个为了采集网站数据、提取结构性数据而编写的应用框架。常应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中。通常我们可以很简单的通过 Scrapy 框架实现一个爬虫,抓取指定网站的内容或图片。1.引擎(Engine)– 引擎负责控制数据流在系统所有组件中的流向,并在不同的条件时触发相对应的事件。这个组件相当于爬虫的“大脑”,是整个爬虫的调度中心。2.调度器(Scheduler)

风中追风 9540

Scrapy是什么?Scrapy怎么用?Scrapy基础使用(基于scrapy2.0+编写) ๑乛◡乛๑ Scrapy框架使用方法

文章目录Scrapy入门 Scrapy入门 创建项目(前提是已经安装完成了Scrapy)

寻觅的博客 2047

【0基础学爬虫】爬虫基础之scrapy使用

Scrapy 是一个用于爬取网站并提取结构化数据的强大且灵活的开源框架。它提供了简单易用的工具和组件,使开发者能够定义爬虫、调度请求、处理响应并存储提取的数据。Scrapy 具有高效的异步处理能力,支持分布式爬取,通过其中间件和扩展机制可以方便地定制和扩展功能,广泛应用于数据挖掘、信息聚合和自动化测试等领域。数据爬取下来之后,我们通过scrapy 的 items 进行操作。item就是即提前规划好哪些字段需要抓取,比如上面的标题、评分这些字段就需要使用 item 提前定义好。

K哥爬虫 2207

Scrapy 爬虫框架使用指南

Scrapy 是一个开源的、基于 Python 的爬虫框架,用于快速、高效地从网站上抓取数据并进行结构化处理。它具有高度的可扩展性和灵活性,能够处理各种复杂的爬虫任务,包括但不限于网页抓取、数据提取、自动化测试等。在items.py文件中,定义要抓取的数据结构。Scrapy 是一个功能强大、灵活且高效的爬虫框架,通过本文的介绍,你应该对它的基本使用方法有了一个初步的了解。在实际应用中,你可以根据具体的需求进一步深入学习和探索 Scrapy 的高级功能,如分布式爬虫、增量抓取、动态页面抓取等。

m0_57836225的博客 2293

Python爬虫入门:详解Scrapy爬虫框架的基本使用(附零基础学习资料)

Python爬虫入门:详解Scrapy爬虫框架的基本使用(附零基础学习资料)

Python单行客的博客 4869

2023scrapy教程,超详细(附案例)

scrapy教程

weixin_53696212的博客 3837

scrapy框架使用

import re# 处理文件名中的特殊字符。

weixin_39504722的博客 1296
上一篇: Chrome-headless 使用
下一篇: scrapy shell 介绍
grey_mouse
博客等级 码龄8年 46粉丝 88原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值