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

scrapy爬取名人名言

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

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

scrapy startproject quotes

在这里插入图片描述

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

import scrapy
from scrapy.spiders import CrawlSpider, Rule
from scrapy.linkextractors import LinkExtractor


class 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.kler.cn/a/374993.html

相关文章:

  • overleaf中的includegraphics设置图片缩放,居中显示
  • 基础8:可调用对象类型
  • 07-01-指针与数组
  • 音视频入门基础:AAC专题(13)——FFmpeg源码中,获取ADTS格式的AAC裸流音频信息的实现
  • 使用helm安装canal-server和canal-admin
  • Java预加载
  • 安卓基础001
  • .NET Core WebApi第4讲:控制器、路由
  • LeetCode每日一题3165---不包含相邻元素的子序列的最大和
  • 扩展el-table,实现当showOverflowTooltip时,鼠标可移入tooltip功能
  • 一个免费开源自托管的机器翻译项目,支持API接口
  • 建筑行业知识库搭建:好处、方法与注意事项
  • Chrome和Firefox哪款浏览器的密码管理更安全
  • C++第十讲:继承
  • LeetCode --- 421周赛
  • linux开机自启动三种方式
  • PySpark的使用
  • 一、Go语言快速入门之基础语法
  • python的socket库的基本使用总目录
  • 大语言模型推理源码解读(基于llama3模型:来源github)
  • SpringBoot旋律线:Web音乐网站构建
  • 基于SSM医药进出口交易系统的设计
  • 无线基础配置
  • 深入解析C/C++中的__attribute__((packed)):内存对齐与紧打包技术
  • 目录遍历漏洞
  • AE制作太阳光线穿过手指间隙的教程