开发者

用Python爬取2022春节档电影信息

目录
  • 前提条件
  • 相关介绍
  • 实验环境
  • 具体步骤
    • 目标网站
    • 分析网站
  • 代码实现
    • 输出结果
      • 总结

        前提条件

        熟悉www.cppcns.comHTML基础语句
        熟悉Xpath基础语句

        相关介绍

        python是一种跨平台的计算机程序设计语言。是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越多被用于独立的、大型项目的开发。Requests是一个很实用的Python HTTP客户端库。Pandas是一个Python软件包,提供快速,灵活和可表达的数据结构,旨在使结构化(表格,多维,潜在异构)和时间序列数据的处理既简单又直观。Time是python标准库,无需额外下载,主要用于处理时间问题。Lxml是XML和HTML的解析器,其主要功能是解析和提取XML和HTML中的数据;lxml和正则一样,也是用C语言实现的,是一款高性能的python HTML、XML解析器,也可以利用XPath语法,来定位特定的元素及节点信息。

        HTML是超文本标记语言,主要用于显示数据,他的焦点是数据的外观XML是可扩展标记语言,主要用于传输和存储数据,他的焦点是数据的内容

        实验目标:Python爬取2022春节档电影信息

        实验环境

        Python 3.x (面向对象的高级语言)
        Resquest 2.14.2 (python第三方库)
        Pandas 1.1.0(python第三方库)
        Time (python标准库)
        Lxml(python第三方库)

        具体步骤

        目标网站

        https://movie.douban.com/cinema/later/shenzhen/

        用Python爬取2022春节档电影信息

        分析网站

        按F12打开浏览器操作台

        用Python爬取2022春节档电影信息

        按Ctrl+Shift+C快捷键

        用Python爬取2022春节档电影信息

        按Ctrl+F快捷键,控制台出现搜索框

        用Python爬取2022春节档电影信息

        复制Xpath

        Xpath为//*[@id=“showing-soon”]/div[1]/div/h3/a

        用Python爬取2022春节档电影信息

        粘贴到搜索框,验证Xpath

        用Python爬取2022春节档电影信息

        查看HTML,寻找共性

        用Python爬取2022春节档电影信息

        发现目标元素都在一个div框里,修改Xpath

        Xpath修改为//*[@id=“showing-soon”]/div/div/h3/a

        用Python爬取2022春节档电影信息

        其余目标元素,以此类推

        用Python爬取2022春节档电影信息

        最后,用Pandas保存为CSV文件

        # 利用pandas保存文件
        df = pd.DataFrame()
        df['上映日期'] =  Ondate
        df['片名'] =  name
        df['类型'] =  movie_class
        df['制www.cppcns.com片国家/地区'] = area
        df['想看人数'] = num
        df['超链接'] = href
        

        用Python爬取2022春节档电影信息

        代码实现

        # -*- coding: utf-8 -*-
        """
        Created on Tue Jawww.cppcns.comn 25 10:07:11 2022
        @author: TFX
        """
        import time
        import requests # 请求库
        import pandas as pd
        from lxml import etree# 提取信息库
        # 日期
        today = time.strftime('%Y{y}%m{m}%d{d}',timehttp://www.cppcns.com.localtime()).format(y='年',m='月',d='日')
        # 网OzoLtguNNq址
        url = 'https://movie.douban.com/cinema/later/shenzhen/'
        # 请求头
        headers = {
                'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.163 Safari/537.36'
                }
        # 发送请求
        response = requests.get(url=url,headers=headers)
        # 数据解析,xpath可以用浏览器检查元素获得
        html = etree.HTML(response.text) #类型变换
        # 电影详细超链接
        href = html.xpath('//*[@id="showing-soon"]/div/div/h3/a/@href')
        # 上映日期
        Ondate =  html.xpath('//*[@id="showing-soon"]/div/div/ul/li[1]/text()')
        # 片名
        name = html.xpath('//*[@id="showing-soon"]/div/div/h3/a/text()')
        # 类型
        movie_class = html.xpath('//*[@id="showing-soon"]/div/div/ul/li[2]/text()')
        # 制片国家 / 地区
        area = html.xpath('//*[@id="showing-soon"]/div/div/ul/li[3]/text()')
        # 想看人数
        num = html.xpath('//*[@id="showing-soon"]/div/div/ul/li[4]/span/text()')
        # 利用pandas保存文件
        df = pd.DataFrame()
        df['上映日期'] =  Ondate
        df['片名'] =  name
        df['类型'] =  movie_class
        df['制片国家/地区'] = area
        df['想看人数'] = num
        df['超链接'] = href
        df.to_csv('2022春节档电影_'+today+'.csv',mode='w',index=None,encoding='gbk')
        print('保存完成!')
        

        输出结果

        用Python爬取2022春节档电影信息

        用Python爬取2022春节档电影信息

        用Python爬取2022春节档电影信息

        总结

        到此这篇关于用Python爬取2022春节档电影信息的文章就介绍到这了,更多相关Python春节档电影信息内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

        0

        上一篇:

        下一篇:

        精彩评论

        暂无评论...
        验证码 换一张
        取 消

        最新开发

        开发排行榜