当前位置: 首页 > ai >正文

爬虫学习——LinkEXtractor提取链接与Exporter导出数据

一、提取链接

        任务需求:如果爬取的数据通常分布在多个页面中,每个页面包含一部分数据以及到其他页面的链接,提取链接可以使用Selector和使用LinkExtractor两个方法。

        在页面中待提取的链接较少的时候,可以使用Selector来进行解决,但是其毕竟主要的作用还是提取数据,不是专门用于提取链接的,故这里使用LinkExtractor用于专门对大量链接和较为复杂场景的链接提取。可以设定不想要/想要的链接开头,设定提取的css范围和XPath列表以及不想要的链接域等都可以通过LinkExtractor获取到。

二、导出数据

这个解决任务的需求在于对爬取到的数据以某种数据格式保存到文件中,即导出数据。

在Scrapy中负责导出数据的组件被成为Exporter,在Scrapy中有多种Exporter,每种Exporter支持一种数据格式的导出,其可支持的数据格式为:JSON/JSON lines/CSV/XML/Pickle/Marshal。除去这6种文本格式外的格式,均需要自定义Exporter来实现。

导出数据时,Scrapy需提供导出文件的路径、导出文件的数据格式;可以通过命令行参数和修改配置文件实现导出数据。

①使用命令行参数导出(-o/-t)数据:

eg1:scrapy crawl books -o books.csv

eg2:scrapy crawl books-t csv -o books.data

②配置文件(settings.py)导出数据:

在默认配置文件中,使用的是FEED_EXPORTERS_BASE,这个使用的是内部支持的导出格式。

在用户配置文件中,使用的是FEED_EXPORTERS,这个是用户自定义的导出格式。

以下是在配置文件中需要设置的参数值:

FEED_URI:”export_data/%(name)s/%(time)s.data”//文件输出路径

FEED_FORMAT:”json”//文件输出格式

FEED_EXPORT_ENCODING:”utf-8”//文件编码格式

FEED_EXPORT_FIELDS:[‘name’,’author’,’price’,”type”,’’country”]//导出数据包含的字段

FEED_EXPORTERS:{“xlsx”:”myproject.myexporters.XLSXItemExporter”}//这个在自定义了一个XLSXItemExporter时进行这样使用。

以下是对如何进行自定义导出格式的实现阐述:

由于Scrapy中有一个BaseItemExporter导出基类,故在进行自定义导出类XLSXItemExporter实现中,需要继承该基类。然后自定义该类中的方法,最终实现对xlsx格式的导出。

http://www.xdnf.cn/news/833.html

相关文章:

  • 强化学习笔记(三)——表格型方法(蒙特卡洛、时序差分)
  • P3959 [NOIP 2017 提高组] 宝藏
  • 图形编辑器基于Paper.js教程27:对图像描摹的功能实现,以及参数调整
  • 一款支持多线程的批量任务均衡器
  • Craft 是什么:腾讯 Cloud Studio 中的 CodeBuddy 提供了 Craft 功能
  • 阻塞队列-ArrayBlockingQueue
  • 【Linux专栏】zip 多个文件不带路径
  • 入选AAAI 2025,浙江大学提出多对一回归模型M2OST,利用数字病理图像精准预测基因表达
  • C语言高频面试题——指针数组和数组指针
  • Spark-SQL核心编程
  • day33和day34图像处理OpenCV
  • MySQL数据库 - InnoDB引擎
  • DeepSeek智能时空数据分析(二):3秒对话式搞定“等时圈”绘制
  • OneClicker脚本自动运行工具
  • 2025年蓝桥杯第十六届CC++大学B组真题及代码
  • 模拟堆详解
  • 软件工程中的维护类型
  • OpenSSL1.1.1d windows安装包资源使用
  • [预备知识]1. 线性代数基础
  • 浙江大学 DeepSeek 公开课 第三季 第1期讲座 - 唐谈 研究员 (附PPT下载) | 突破信息差
  • 腾讯云×数语科技:Datablau DDM (AI智能版)上架云应用!
  • 虚拟环境下编译ros2节点需注意的地方
  • 【上位机——MFC】运行时类信息机制
  • # 05_Elastic Stack 从入门到实践(五)
  • Kafka 在小流量和大流量场景下的顺序消费问题
  • Spring MVC DispatcherServlet 的作用是什么? 它在整个请求处理流程中扮演了什么角色?为什么它是核心?
  • 平板电脑做欧盟网络安全法案(EU)2022/30
  • 人工智能100问☞第9问:什么是AI芯片?
  • 形象理解华为云物联网iotDA开发流程
  • MYSQL之慢查询分析(Analysis of Slow MySQL Query)