Scrapy爬虫框架入门

一、环境搭建

  Scrapy是一个比较好的爬虫框架,本次,我们学习一下,使用Scrapy框架来创建一个爬虫项目,并通过一个简单的例子演示一下。

第一步:安装依赖。首先先保证已经安装了python,pip。然后使用pip进行一下依赖的安装,顺序为:

1、wheel      2、  lxml     3、PyOpenssl      4、  Pywin32   5、scrapy

安装命令为:比如安装sheel:pip install sheel

当然,肯定没有那么容易就能安装成功了啦,由于版本不一致的原因,经常会导致我们安装第三方库的时候,失败,大致报错如下:

出现这个问题的原因是,我们默认安装的第三方插件和python的版本不一致,因此我们需要自己去下一个正确的版本。

下载地址:https://www.lfd.uci.edu/~gohlke/pythonlibs/#wordcloud

搜索到我们需要的插件,然后存放到某个目录下,然后再运行pip install wheel?0.31.1?py2.py3?none?any.whl就可以了。

二、创建Scrapy项目

  创建scrapy项目的命令依次如下:

1、创建一个项目 scrapy statrproject myproject

2、切换到myproject目录下 cd myproject

3、创建爬虫文件 scrapy genspider scrapyname  www.baidu.com

4、运行项目 scrapy crawl myproject

创建完之后,项目的目录结构如下:

三、实例演示

  现在我们需要抓取网站http://lab.scrapyd.cn的数据,只需要在spiders目录下编写我们的爬虫逻辑即可。

这里面的name和star_urls其实就是我们在创建的时候爬虫文件的时候传递的值。scrapy genspider mingyan2  lab.scrapyd.cn

爬虫的逻辑代码如下:

 1 import scrapy
 2
 3 from mingyan.items import MingyanItem
 4 class mingyan(scrapy.Spider):  # 需要继承scrapy.Spider类
 5
 6     name = "mingyan2"  # 定义蜘蛛名
 7     start_urls = [
 8         ‘http://lab.scrapyd.cn‘,
 9
10     ]
11
12     def parse(self, response):
13         item = MingyanItem()
14         quotes = response.css(‘div.quote‘)
15         for quote in quotes:
16             item[‘text‘] = quote.css(‘.text::text‘).extract()[0]
17             item[‘author‘] = quote.css(‘.author::text‘).extract()[0]
18             item[‘tags‘] = quote.css(‘.tag::text‘).extract()
19             yield item
20         nextpage = response.css(‘li.next a::attr(href)‘).extract()[0]
21         if nextpage is not None:
22             yield scrapy.Request(nextpage,callback=self.parse)

如果我们想让抓取的数据以不同的格式存储时,只需要在命令行运行的时候增加-o参数即可,例如想要抓取的数据以json的格式存储,命令如下:

生成的数据文件为json数组的形式:

原文地址:https://www.cnblogs.com/win0211/p/9260056.html

时间: 2024-07-30 10:06:22

Scrapy爬虫框架入门的相关文章

Scrapy 爬虫框架入门案例详解

欢迎大家关注腾讯云技术社区-博客园官方主页,我们将持续在博客园为大家推荐技术精品文章哦~ 作者:崔庆才 Scrapy入门 本篇会通过介绍一个简单的项目,走一遍Scrapy抓取流程,通过这个过程,可以对Scrapy对基本用法和原理有大体的了解,作为入门. 在本篇开始之前,假设已经安装成功了Scrapy,如果尚未安装,请参照上一节安装课程. 本节要完成的任务有: 创建一个Scrapy项目 创建一个Spider来抓取站点和处理数据 通过命令行将抓取的内容导出 创建项目 在抓取之前,你必须要先创建一个S

Python之Scrapy爬虫框架安装及简单使用

题记:早已听闻python爬虫框架的大名.近些天学习了下其中的Scrapy爬虫框架,将自己理解的跟大家分享.有表述不当之处,望大神们斧正. 一.初窥Scrapy Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架. 可以应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中. 其最初是为了 页面抓取 (更确切来说, 网络抓取 )所设计的, 也可以应用在获取API所返回的数据(例如 Amazon Associates Web Services ) 或者通用的网络爬虫. 本文档将

一个咸鱼的python爬虫之路(五):scrapy 爬虫框架

介绍一下scrapy 爬虫框架 安装方法 pip install scrapy 就可以实现安装了.我自己用anaconda 命令为conda install scrapy. 1 Engine从Spider处获得爬取请求(Request)2Engine将爬取请求转发给Scheduler,用于调度 3 Engine从Scheduler处获得下一个要爬取的请求4 Engine将爬取请求通过中间件发送给Downloader5 爬取网页后,Downloader形成响应(Response)通过中间件发给En

Scrapy爬虫框架第一讲(Linux环境)

1.What is Scrapy? 答:Scrapy是一个使用python语言(基于Twistec框架)编写的开源网络爬虫框架,其结构清晰.模块之间的耦合程度低,具有较强的扩张性,能满足各种需求.(前面我们介绍了使用requests.beautifulsoup.selenium等相当于你写作文题,主要针对的是个人爬虫:而Scrapy框架的出现给了我们一个方便灵活爬虫程序架构,我们只需针对其中的组件做更改,即可实现一个完美的网络爬虫,相当于你做填空题!) 基于Scrapy的使用方便性,下面所有的S

Python爬虫教程-31-创建 Scrapy 爬虫框架项目

本篇是介绍在 Anaconda 环境下,创建 Scrapy 爬虫框架项目的步骤,且介绍比较详细 Python爬虫教程-31-创建 Scrapy 爬虫框架项目 首先说一下,本篇是在 Anaconda 环境下,所以如果没有安装 Anaconda 请先到官网下载安装 Anaconda 下载地址:https://www.anaconda.com/download/ Scrapy 爬虫框架项目的创建 0.打开[cmd] 1.进入你要使用的 Anaconda 环境 1.环境名可以在[Pycharm]的[Se

Scrapy爬虫框架的使用

#_author:来童星#date:2019/12/24# Scrapy爬虫框架的使用#1.安装Twisted模块 https://www.lfd.uci.edu/~gohlke/pythonlibs/#2.单击Twisted索引import scrapyfrom scrapy.crawler import CrawlerProcess# 导入获取项目设置信息from scrapy.utils.project import get_project_settingsclass QuotesSpid

【Scrapy】Scrapy爬虫框架的基本用法

Scrapy爬虫框架的基本用法 Scrapy爬虫框架是一个好东西,可以十分简单快速爬取网站,特别适合那些不分离前后端的,数据直接生成在html文件内的网站.本文以爬取 杭电OJ http://acm.hdu.edu.cn 的题目ID和标题为例,做一个基本用法的记录 可参考 https://www.jianshu.com/p/7dee0837b3d2 安装Scrapy 使用pip安装 pip install scrapy 代码编写 建立项目 myspider scrapy startproject

scrapy爬虫框架(四)-爬取多个网页

scrapy爬虫框架(四) 爬取多个网页 思路:通过判断句子控网站中,下一页是否还有a标签来获取网址,拼接后继续爬取,最终写入json文件中. juziSpider.py # -*- coding: utf-8 -*- import scrapy from juzi.items import JuziItem class JuzispiderSpider(scrapy.Spider): name = 'juziSpider' allowed_domains = ['www.juzikong.co

scrapy爬虫框架(五)-CrawlSpider

scrapy爬虫框架(五)-CrawlSpider 通过CrawlSpider的链接提取器爬取微信小程序社区的文章 创建爬虫文件 此前要进入爬虫文件夹,使用cd命令,再创建模版(templ)爬虫 scrapy genspider -t crawl 爬虫名 网站域名 # -*- coding: utf-8 -*- import scrapy from scrapy.linkextractors import LinkExtractor from scrapy.spiders import Craw