0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Scrapy怎么爬取Python文件

汽车电子技术 来源:Python数据分析之旅 作者:cauwfq 2023-02-24 15:16 次阅读

图片

一.项目背景

之前文章[Scrapy爬虫框架初步使用介绍](http://mp.weixin.qq.com/s?__biz=MzIzODI4ODM2MA==&mid=2247484881&idx=1&sn=5d205c3315927845fed5aa4dfbb4f4da&chksm=e93ae956de4d604052e6d18ca10fc081f32cd8479a11420cd13fe20bbb963044b13d55b15390&scene=21#wechat_redirect)我们介绍了Scrapy框架运行基本原理,紧接着我们介绍了如何利用Scrapy爬取文本数据[Scrapy+MySQL+MongoDB爬取豆瓣读书做简单数据分析](http://mp.weixin.qq.com/s?__biz=MzIzODI4ODM2MA==&mid=2247484898&idx=1&sn=763a73b7d4b7c991d1aeb2ceb389b686&chksm=e93ae965de4d6073da55c6db07bfe142c1d18ca744dae33214a2dba8940db348616e256a7e50&scene=21#wechat_redirect),以及如何利用Scrapy爬取图片[Scrapy爬取某网站美女图片](http://mp.weixin.qq.com/s?__biz=MzIzODI4ODM2MA==&mid=2247486610&idx=1&sn=e05d207e965d7bcc0507a195f25da2b9&chksm=e93ae015de4d69031ae847bf5f12adef61e82d263aa8366e9533a58c7011b6396b4a05051cea&scene=21#wechat_redirect),本次我们分享如何利用Scrapy爬取文件。
本次我们爬取目标网页为:https://matplotlib.org/2.0.2/examples/index.html

图片

二.实现过程

1.创建项目
   》》scrapy startproject matplot_file
   》》进入该目录 cd matplot_file
   》》生成爬虫 scrapy genspider mat  matplotlib.org
   》》运行爬虫 scrapy crawl mat -o mat_file.json

图片

2.数据爬取
  》》解析数据
  》》存储数据

图片

# -*- coding: utf-8 -*-
import scrapy
from matplot_file.items import MatplotFileItem




class MatSpider(scrapy.Spider):
    name = 'mat'
    allowed_domains = ['matplotlib.org']
    start_urls = ['https://matplotlib.org/2.0.2/examples/index.html']


    def parse(self, response):
        #获取所有li元素
        for lis in response.xpath('//*[@id="matplotlib-examples"]/div/ul/li'):
            #遍历li元素
            for li in lis.xpath('.//ul/li'):
                #获取链接
                url=li.xpath('.//a/@href').get()
                #拼接链接
                url = response.urljoin(url)
                #爬取文本
                yield scrapy.Request(url, callback=self.parse_html)


    #解析文本
    def parse_html(self,response):
        #获取文件链接
        href = response.xpath('//div[@class="section"]/p/a/@href').get()
        #拼接链接
        url=response.urljoin(href)
        #打印控制台
        print(url)
        #初始化对象
        matfile=MatplotFileItem()
        #存储对象
        matfile['file_urls']=[url]
        #返回数据
        yield   matfile

【注】以上是mat.py中代码
# -*- coding: utf-8 -*-
BOT_NAME = 'matplot_file'


SPIDER_MODULES = ['matplot_file.spiders']
NEWSPIDER_MODULE = 'matplot_file.spiders'




#设置FilePipeline
ITEM_PIPELINES = {
    'scrapy.pipelines.files.FilesPipeline':1,
    }
#设设置文件保存路径
FILES_STORE = 'mat_file'
ROBOTSTXT_OBEY = False


【注】以上是settings.py中代码
import scrapy




class MatplotFileItem(scrapy.Item):
    # define the fields for your item here like:


    #文件url
    file_urls = scrapy.Field()
    #下载文件信息
    files = scrapy.Field()


【注】以上是items.py中代码

图片

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 数据
    +关注

    关注

    8

    文章

    6511

    浏览量

    87600
  • 框架
    +关注

    关注

    0

    文章

    297

    浏览量

    17045
  • 运行
    +关注

    关注

    0

    文章

    25

    浏览量

    15345
收藏 人收藏

    评论

    相关推荐

    python实现网页爬虫图片

    来实现这样一个简单的爬虫功能,把我们想要的代码取到本地,功能有点类似我们之前学过的批处理。下面就看看如何使用python来实现这样一个功能,主要分为三步,如下:一. 获取整个页面数据首先我们可以先
    发表于 04-05 15:32

    Python爬虫与Web开发库盘点

    Python爬虫和Web开发均是与网页相关的知识技能,无论是自己搭建的网站还是爬虫去别人的网站,都离不开相应的Python库,以下是常用的Python爬虫与Web开发库。1.爬虫库
    发表于 05-10 15:21

    python

    python学习1.数据2.图片
    发表于 09-21 18:18

    Crawler:基于urllib+requests库+伪装浏览器实现国内知名招聘网站信息(2018430之前)并保存在csv文件

    Crawler:基于urllib+requests库+伪装浏览器实现国内知名招聘网站,上海地区与机器学习有关的***(2018430之前)并保存在csv文件
    发表于 12-19 17:02

    采用xpath网站内容

    xpathmooc网课程
    发表于 04-11 12:01

    基于Python3对携程网页上北京五星级酒店列表的

    Python3 携程网[1] 根据好评优先顺序,获取北京五星级酒店列表
    发表于 04-19 16:25

    基于Python实现一只小爬虫拉勾网职位信息的方法

    通俗易懂的分析如何用Python实现一只小爬虫,拉勾网的职位信息
    发表于 05-17 06:54

    python学习笔记-安装scrapy

    的。。下载后会自动安装 OK,Scrapy终于完全安装完毕了我将所有安装文件以及上文提到的python代码也一起打包,下载地址在下面 http://download.csdn.net/detail/tkfeng29/900266
    发表于 07-10 07:49

    Python3安装scrapy时pip install twisted失败

    Python3安装scrapy的玄学
    发表于 08-14 07:22

    python音频文件的步骤

    python爬虫音频文件
    发表于 08-22 14:23

    scrapy爬虫小说方法

    scrapy小说(一)
    发表于 09-19 06:29

    Python豆瓣电影信息和存储数据库

    Python——豆瓣电影信息并存储数据库
    发表于 03-11 11:19

    python基础语法及流程控制

    爬虫复习1.python基础python基础语法 流程控制 函数封装2.防措施整体防User-AgentrefererIP代理池Cookie代理池 各自防
    发表于 08-31 07:41

    Python爬虫简介与软件配置

    Python爬虫练习一、爬虫简介1. 介绍2. 软件配置二、南阳理工OJ题目三、学校信息通知四、总结五、参考一、爬虫简介1. 介绍网
    发表于 01-11 06:32

    豆瓣电影Top250信息

    通过本案例[豆瓣电影Top250信息]锻炼除正则表达式之外两种信息解析方式:Xpath和PyQuery。url地址:https://movie.douban.com/top25
    发表于 03-23 15:47