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

【Python爬虫】Scrapy框架实战---百度首页热榜新闻

如何利用Scrapy框架实战提取百度首页热榜新闻的排名、标题和链接

一、安装Scrapy库

在这里插入图片描述

二、创建项目(以BaiduSpider为例)

scrapy startproject BaiduSpider

在这里插入图片描述

生成每个文件的功能:

在这里插入图片描述

二、 创建爬虫脚本(爬虫名:news)

scrapy genspider news www.baidu.com

命令执行成功后,spider目录中将生成news.py文件

在这里插入图片描述

(1)name:在同一个项目中,名字是唯一的,用来区分不同的spider。
(2)allowed_domains:允许爬取的域名,如果初始或后续请求的URL不是这个域名下的,则请求会被过滤掉,可以根据需要编辑或添加。
(3)start_urls:spider初始爬取的URL列表,可以根据需要编辑或添加。
(4)parse(self,response):解析返回的响应,提取数据或新的URL,response是请求start_urls后返回的响应。

三、修改settings脚本(位置:settings.py)

设置请求头中的User-Agent和不遵守Robots协议

在这里插入图片描述

四、完善爬虫(位置:news.py)

编写解析方法

在这里插入图片描述

五、 运行爬虫

正常运行爬虫命令

scrapy crawl news

不打印日志文件运行爬虫命令

scrapy crawl news --nolog

在这里插入图片描述

六、数据保存

6.1 修改items脚本(位置:items.py)

scrapy库提供Item对象来实现将爬取到的数据转换成结构化数据的功能。实现方法是定义Item类(继承scrapy.Item类),并定义类中的数据类型为scrapy.Filed字段。

在这里插入图片描述

6.2 编写解析方法(位置:news.py)

在这里插入图片描述

6.3 保存为JSON文件
scrapy crawl news -o news.json

命令执行成功后,BaiduSpider目录中将生成news.json文件

在这里插入图片描述

注意: 使用-o输出JSON文件时,会默认使用unicode编码,当内容为中文时,输出的JSON文件不便于查看。此时,可以在settings.py文件中修改默认的编码方式,即增加设置FEED_EXPORT_ENCODING = ‘utf-8’

http://www.lryc.cn/news/491231.html

相关文章:

  • 采用python3.12 +django5.1 结合 RabbitMQ 和发送邮件功能,实现一个简单的告警系统 前后端分离 vue-element
  • Qt 实现网络数据报文大小端数据的收发
  • [译]Elasticsearch Sequence ID实现思路及用途
  • Java基于SpringBoot+Vue的藏区特产销售平台
  • 12-表的约束
  • 【人工智能】深度学习入门:用TensorFlow实现多层感知器(MLP)模型
  • 【Go】-go中的锁机制
  • c ++零基础可视化——vector
  • Centos 7 安装 Docker 最新版本
  • 构建高效在线教育:SpringBoot课程管理系统
  • 二进制与网络安全的关系
  • 【计算机网络】网段划分
  • VB、VBS、VBA的区别及作用
  • 深度学习中的循环神经网络(RNN)与时间序列预测
  • Unity 设计模式-原型模式(Prototype Pattern)详解
  • 如何在 RK3568 Android 11 系统上排查以太网问题
  • 如何在WPF中嵌入其它程序
  • 大模型呼入系统是什么?
  • Flutter:SlideTransition位移动画,Interval动画延迟
  • 【Elasticsearch入门到落地】2、正向索引和倒排索引
  • 网络安全概论
  • 后端开发如何高效使用 Apifox?
  • 实现List接口的三类-ArrayList -Vector -LinkedList
  • LeetCode 904.水果成篮
  • GitHub 开源项目 Puter :云端互联操作系统
  • 美创科技入选2024数字政府解决方案提供商TOP100!
  • 七天掌握SQL--->第五天:数据库安全与权限管理
  • 数学建模学习(138):基于 Python 的 AdaBoost 分类模型
  • 丹摩|丹摩智算平台深度评测
  • 『VUE』34. 异步组件(详细图文注释)