scrapy爬取名人名言

devtools/2024/11/7 6:06:44/

爬取名人名言:http://quotes.toscrape.com/

1 创建爬虫项目,在终端中输入:

python">scrapy startproject quotes

在这里插入图片描述

2 创建之后,在spiders文件夹下面创建爬虫文件quotes.py,内容如下:

python">import scrapy
from scrapy.spiders import CrawlSpider, Rule
from scrapy.linkextractors import LinkExtractorclass Quotes(CrawlSpider):name = "quotes"allowed_domains = ["quotes.toscrape.com"]start_urls = ['http://quotes.toscrape.com/']rules = (Rule(LinkExtractor(allow='/page/\d+'), callback='parse_quotes', follow=True),Rule(LinkExtractor(allow='/author/\w+'), callback='parse_author'))def parse_quotes(self, response):for quote in response.css('quote'):yield {'content': quote.css('.text::text').extract_first(),'author': quote.css('.author::text').extract_first(),'tags': quote.css('.tag::text').extract_first()}def parse_author(selfself, response):name = response.css('.author-title::text').extract_first()author_born_date = response.css('.author-born-date::text').extract_first()author_born_location = response.css('.author-born-location::text').extract_first()author_description = response.css('.author-description::text').extract_first()return ({'name': name,'author_born_date': author_born_date,'author_born_location': author_born_location,'author_description': author_description})

目录结构如下:
在这里插入图片描述

3 运行爬虫

在终端中执行scrapy crawl quotes,结果如图所示:
在这里插入图片描述
到此,一个简单的爬虫就完成了。


http://www.ppmy.cn/devtools/131934.html

相关文章

Spring Boot 3中基于纯MyBatis的CURD开发实例

项目整理目录结构: └── aiosms├── pom.xml└── src├── main│ ├── java│ │ └── com │ │ └── ivandu│ │ └── aiosms│ │ ├── Aiosms.java│ │ ├── controll…

黑客部署复杂新型网络钓鱼以建立持久系统后门

CRON#TRAP:模拟 Linux 环境是恶意软件攻击的最新手段 https://www.securonix.com/blog/crontrap-emulated-linux-environments-as-the-latest-tactic-in-malware-staging/ CRON#TRAP 是一种新的网络钓鱼攻击,它使用模拟的 Linux 环境来绕过安全措施并建…

2024-11-05 问AI: [AI面试题] 人工智能开发和部署的道德考虑是什么?

文心一言 人工智能(AI)的开发和部署涉及复杂的道德问题,这些问题关乎人类价值观、权益、安全和福祉。以下是关于人工智能开发和部署中应考虑的主要道德因素: 一、尊重隐私和数据保护 数据收集与使用:在开发AI系统时…

Java 批量导出Word模板生成ZIP文件到浏览器默认下载位置

是不是你们要找的&#xff01;是不是你们要找的&#xff01;是不是你们要找的&#xff01; 先看效果&#xff1a; 1.word模板格式 2.模板位置 3.需要的依赖 <!--POI-TL实现数据导出到word模板--><dependency><groupId>cn.hutool</groupId><artifact…

【flask开启进程,前端内容图片化并转pdf-会议签到补充】

flask开启进程,前端内容图片化并转pdf-会议签到补充 flask及flask-socketio开启threading页面内容转图片转pdf流程前端主js代码内容转图片-browser端browser端的同步编程flask的主要功能route,def 总结 用到了pdf,来回数据转发和合成,担心flask卡顿,响应差,于是刚好看到threadi…

nodejs入门教程11:nodejs模块系统

一、模块系统的基本概念 Node.js的模块系统是一种将代码分割成独立部分的开发模式&#xff0c;每个模块负责特定的功能。通过模块化&#xff0c;开发者可以提高代码的可读性、可维护性和复用性。在Node.js中&#xff0c;一个文件就是一个模块&#xff0c;模块之间的引用通过re…

qt QMenuBar详解

1、概述 QMenuBar是Qt框架中用于创建菜单栏的类&#xff0c;它继承自QWidget。QMenuBar通常位于QMainWindow对象的标题栏下方&#xff0c;用于组织和管理多个QMenu&#xff08;菜单&#xff09;和QAction&#xff08;动作&#xff09;。菜单栏提供了一个水平排列的容器&#x…

【论文复现】KAN卷积:医学图像分割新前沿

&#x1f4dd;个人主页&#x1f339;&#xff1a;Eternity._ &#x1f339;&#x1f339;期待您的关注 &#x1f339;&#x1f339; ❀知识图谱推理 1. 概述2. 核心创新点3. 模块介绍KANUNext模块 4. 本文主要结构5. 主要代码6. 数据集7. 结果展示8. 参考文献 前言&#xff1a;…