首页 > 其他分享 >scrapy:电影天堂案例

scrapy:电影天堂案例

时间:2023-05-25 16:26:15浏览次数:36  
标签:www name 第二页 案例 scrapy html net 天堂

嵌套数据封装成一个item(一个item包含多级页面的数据):每条记录的名称+点进去之后第二页中的图片

image-20230525150658615

image-20230525150736645


1. 创建爬虫项目

scrapy startproject scrapy_movie_5

image-20230525151228816

2. 创建爬虫文件

scrapy genspider mv https://www.ygdy8.net/html/gndy/china/index.html

image-20230525151623723

3. 实现爬虫

image-20230525153330779

image-20230525153304662

image-20230525153448661

image-20230525160626025

image-20230525160651044

image-20230525160707319

image-20230525160725909

import scrapy
from scrapy_movie_5.items import ScrapyMovie5Item


class MvSpider(scrapy.Spider):
    name = "mv"
    # allowed_domains = ["https://www.ygdy8.net/html/gndy/china/index.html"]
    allowed_domains = ['www.dytt8.net']
    start_urls = ['https://www.dytt8.net/html/gndy/china/index.html']

    def parse(self, response):
        # 第一页的名字和第二页的图片
        a_list = response.xpath('//div[@class="co_content8"]//td[2]//a[2]')
        for a in a_list:
            # 获取第一页的name 和 要点击的链接
            name = a.xpath('./text()').extract_first()
            href = a.xpath('./@href').extract_first()
            # 第二页的地址
            url = 'https://www.dytt8.net' + href  # 注意要修改allowed_domains,因为需要访问的第二页不再原范围内
            # 对第二页的链接发起访问
            yield scrapy.Request(url=url, callback=self.parse_second, meta={'name': name})
            # 注意当涉及多级页面时,要用meta来存参数

    def parse_second(self, response):
        # 注意 如果拿不到数据的情况下  一定检查你的xpath语法是否正确
        src = response.xpath('//div[@id="Zoom"]//img/@src').extract_first()
        # 接受到请求的那个meta参数的值
        name = response.meta['name']
        movie = ScrapyMovie5Item(src=src, name=name)
        yield movie

scrapy crawl mv

image-20230525161253244

标签:www,name,第二页,案例,scrapy,html,net,天堂
From: https://www.cnblogs.com/yppah/p/17431669.html

相关文章

  • 多行业标杆企业财务共享案例解析
    随着信息技术的快速发展,由于创新商业模式的出现,金融结构、操作策略和流程正在发生变化。大数据、云计算、人工智能、机器人流程自动化(RPA)等新兴技术正在应用于金融及财务领域,以优化财务管理流程并提高运营效率。财务共享作为一种系统的管理方案,将组织、流程、系统、人员包括思想进......
  • scrapy:快速入门
    1.安装2.项目创建与运行3.项目组织架构4.工作原理5.案例-百度首页创建爬虫的项目【scrapystartproject项目的名字】注意:项目的名字不允许使用数字开头也不能包含中文创建爬虫文件要在spiders文件夹中去创建爬虫文件【cd项目的名字\项目的名字\sp......
  • scrapy:scrapy shell
    ......
  • 案例3 测试小工具平台
    案例3测试小工具平台需求假如你们公司Web平台,在测试过程中总有一些高频的操作,需要通过数据库操作、或者多个步骤组合(比较麻烦)来操作,如构造订单、发放优惠券、权限审批等。你针对这些需求开发了不同的自动化流程脚本,需要一个界面提供给团队使用。提示需要的能力HTML基础,......
  • 案例丨构建智慧感知网,宏电助力城市内涝“智”理
    在城市化进程不断推进和极端降雨事件频发的双重影响下,“城市看海”现象频繁发生,借助云计算、大数据、物联网等新技术,大力发展适应时代的智慧防洪排涝设施体系是预防城市内涝发生的重要科技手段。 为做好城市防汛排涝工作,四川省广元经济技术开发区辖区实施了城市防排涝综合监管平台......
  • 数据代码分享|R语言回归分析:体脂数据、公交绿色出行与全球变暖2案例
    全文链接:http://tecdat.cn/?p=32520原文出处:拓端数据部落公众号通常在现实应用中,我们需要去理解一个变量是如何被一些其他变量所决定的。回答这样的问题,需要我们去建立一个模型。一个模型就是一个公式之中,一个因变量(dependentvariable)(需要预测的值)会随着一个或多个数值型的......
  • 【愚公系列】2023年05月 .NET CORE工具案例-C#调用Python的二种方式
    (文章目录)前言.NET调用Python的作用和意义是可以利用Python强大的数据处理和机器学习能力,结合.NET的优势进行开发,提高开发效率和应用性能。同时,Python也可以通过.NET进行调用,实现跨语言的开发和应用。一、C#调用Python的三种方式1.ironPython调用1.1ironPython的安装IronP......
  • GPT应用案例:AI机械佛祖-人工智能佛祖始终与您相伴-对接企业微信客服
    最近唯一客服有一个特殊的客户,是东华禅寺,想要实现企业微信客服对接GPT机器人自动回答信众问题实现的效果如图所示实现上面的案例非常简单,只需要在唯一客服系统中注册账号,然后对接企业微信客服。这样客服系统就与企业微信对接成功了,联系管理员开通AI功能,添加上自己的提示词,就能......
  • RocketMQ 在小米的多场景灾备实践案例
    作者:邓志文、王帆01为什么要容灾?在小米内部,我们使用RocketMQ来为各种在线业务提供消息队列服务,比如商城订单、短信通知甚至用来收集IoT设备的上报数据,可以说RocketMQ的可用性就是这些在线服务的生命线。作为软件开发者,我们通常希望服务可以按照理想状态去运行:在没有Bug的......
  • SaaS产品在B2B分销中的痛点和解决方案,从0到1实操案例分享
    在一个创新SaaS产品公司,如果产品不搭建自己的分销系统,就无法终端客户的业务需求与行业痛点,尤其在B2B渠道布局会有挑战,渠道布局已经成为当下SaaS产品市场的创新力的基石。B2B分销痛点1、设定分销政策对于SaaS产品的B2B分销来说,包括分销佣金、分销商等级、分销层级、分销奖励等。例如......