采集天堂电影数据来看看

简介: 采集天堂电影数据来看看

阅读本文需要2分钟


最近本狗想放松放松, 想了想还是看看几部电影最为可贵, 于是找了大家最为熟悉的网站《电影天堂》去看个究竟。为了更好的去"挑选"电影,本狗就爬取了大几十页的数据。废话不多说:开工啦


1

原理:

构建目标URL:


def page_urls():
    baseurl = 'http://www.ygdy8.net/html/gndy/dyzz/list_23_{}.html'
    for i in range(1, 30):
        url = baseurl.format(i)
        parse_url(url)

只需要改变{}里面的内容就可以实现翻页


爬取电影详情URL:


def parse_url(url):
    response = requests.get(url, headers=headers)
    html = etree.HTML(response.text)
    tables = html.xpath('//table[@class="tbspan"]//a/@href')
    for table_url in tables:
        page_urls = baseurl + table_url


2

需要的模块:


import time
import random
import requests
from lxml import etree
import csv


主程序:(有点长,截取部分)

    def spider(page_urls):
        data = {}
        response = requests.get(page_urls, headers=headers)
        html = etree.HTML(response.content.decode('gbk'))
        title = html.xpath('//div[@class="title_all"]//font[@color="#07519a"]/text()')[0]
        data['名字'] = title
        try:
            images = html.xpath('//div[@id="Zoom"]//img/@src')[1]
        except:
            print("套路深!")
        try:
            posters = html.xpath('//div[@id="Zoom"]//img/@src')[0]
        except:
            print("套路深!!")
        data['海报'] = posters
        # time.sleep(random.randint(1, 2))
        zoom_ = html.xpath('//div[@id="Zoom"]')[0]
        infos = zoom_.xpath('.//text()')
        for info in infos:
            if info.startswith('◎年  代'):
                info1 = info.replace('◎年  代', '').strip()
                data['年代'] = info1
            elif info.startswith('◎产  地'):
                info2 = info.replace('◎产  地', '').strip()
                data['产地'] = info2
            elif info.startswith('◎类  别'):
                info3 = info.replace('◎类  别', '').strip()
                data['类别'] = info3
            elif info.startswith('◎语  言'):
                info4 = info.replace('◎语  言', '').strip()
                data['语言'] = info4
            elif info.startswith('◎上映日期'):
                info5 = info.replace('◎上映日期', '').strip()
                data['上映日期'] = info5
            elif info.startswith('◎豆瓣评分'):
                info6 = info.replace('◎豆瓣评分', '').strip()
                info6 = ''.join(info6.split('/')[:1])
                data['豆瓣评分'] = info6
            elif info.startswith('◎片  长'):
                info7 = info.replace('◎片  长', '').strip()
                data['片长'] = info7


    3

    效果图:



    这样查看电影很方便呀!!!最后本跟根据【评分】【类别】选择了些电影《头号玩家》《江湖儿女》《调音师》,感觉还不错!!!   主要原因还是没钱开会员


    后台回复 【电影】 获取源码

    相关文章
    lua字符串与十六进制数据转换
    lua字符串与十六进制数据转换
    490 2
    |
    11月前
    |
    人工智能 安全 程序员
    计算机专业必看的几部电影
    这些电影涉及网络安全、互联网创业、编程挑战、社会工程学、科技巨头的创业故事和复杂系统逻辑,可以激发对计算机科学的兴趣并提供对未来科技发展的见解。
    261 1
    |
    存储 NoSQL MongoDB
    【MongoDB】如何在MongoDB中设计Schema?
    【4月更文挑战第2天】【MongoDB】如何在MongoDB中设计Schema?
    |
    JSON API 数据格式
    豆瓣电影api系列
    豆瓣电影api系列
    豆瓣电影api系列
    |
    6月前
    |
    物联网 异构计算
    高效部署通义万相Wan2.1:使用Gradio搭建WebUI体验实战
    随着通义万相Wan2.1 在社区的热度持续上涨,魔搭创空间的体验Demo(https://modelscope.cn/studios/Wan-AI/Wan-2.1)已经排起长队。
    1538 12
    |
    7月前
    |
    人工智能 自然语言处理 数据可视化
    清华大学104页PPT《DeepSeek从入门到精通》分享
    清华大学发布的《DeepSeek从入门到精通》PPT共104页,系统讲解了这款由清华团队研发的开源通用人工智能工具。内容涵盖DeepSeek的功能、应用场景及优化策略,帮助用户从零开始掌握文本生成、语义分析、编程辅助等核心技能,并提供实战提示语模板和避坑指南。下载链接:[夸克网盘](https://pan.quark.cn/s/aaf63504a246)。
    620 3
    清华大学104页PPT《DeepSeek从入门到精通》分享
    |
    10月前
    |
    机器学习/深度学习 人工智能 搜索推荐
    AI与娱乐产业:电影制作的新工具
    随着科技的发展,人工智能(AI)逐渐渗透到电影制作中,带来了前所未有的创新。本文探讨了AI在剧本创作、场景构建、特效制作、动作捕捉、音频处理、剪辑及市场调研等领域的应用,以及其对提升效率、激发创意和拓宽视野的影响,展望了AI在未来电影产业中的重要作用。
    获取元素到浏览器顶部的距离
    文章介绍了两种方法来获取页面元素到浏览器顶部的距离:使用元素的`getBoundingClientRect().top`属性和自定义函数`getElementTop`结合`offsetParent`和`offsetTop`属性。
    347 1
    |
    10月前
    |
    机器学习/深度学习 数据采集 搜索推荐
    利用Python和机器学习构建电影推荐系统
    利用Python和机器学习构建电影推荐系统
    442 1
    |
    10月前
    |
    数据挖掘 Python
    DrissionPage实战之采集猫眼电影top100榜
    在信息化时代,数据的重要性日益凸显,特别是在充满活力的电影行业。猫眼电影作为中国领先的电影票务平台,提供了丰富的电影信息和用户评价,成为研究电影市场趋势的重要数据源。通过Python的DrissionPage库抓取猫眼电影Top 100榜单,不仅能够帮助影迷了解热门影片,还为制片方、市场分析师和投资者提供了宝贵的市场洞察。此项目通过自动化脚本定期更新数据,分析市场变化,助力精准决策。
    253 0