> 文档中心 > Python爬取2022春节档电影信息

Python爬取2022春节档电影信息

Python爬取2022春节档电影信息

    • 前提条件
    • 相关介绍
    • 实验环境
    • 具体步骤
      • 确定目标网站
      • 分析网站
        • 按F12打开浏览器操作台
        • 按Ctrl+Shift+C快捷键,用鼠标找到目标元素
        • 按Ctrl+F快捷键,控制台出现搜索框
        • 复制Xpath
        • 粘贴到搜索框,验证Xpath
        • 查看HTML,寻找共性
        • 发现目标元素都在一个div框里,修改Xpath
        • 其余目标元素,以此类推
        • 最后,用Pandas保存为CSV文件
    • 代码实现
    • 输出结果

前提条件

  • 熟悉HTML基础语句
  • 熟悉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第三方库)

具体步骤

确定目标网站

分析网站

按F12打开浏览器操作台

按Ctrl+Shift+C快捷键,用鼠标找到目标元素

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

复制Xpath

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

粘贴到搜索框,验证Xpath

查看HTML,寻找共性

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

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

其余目标元素,以此类推

最后,用Pandas保存为CSV文件

# 利用pandas保存文件df = pd.DataFrame()df['上映日期'] =  Ondatedf['片名'] =  namedf['类型'] =  movie_classdf['制片国家/地区'] = areadf['想看人数'] = numdf['超链接'] = hrefdf.to_csv('2022春节档电影_'+today+'.csv',mode='w',index=None,encoding='gbk')

代码实现

# -*- coding: utf-8 -*-"""Created on Tue Jan 25 10:07:11 2022@author: TFX"""import timeimport requests # 请求库import pandas as pdfrom lxml import etree# 提取信息库# 日期today = time.strftime('%Y{y}%m{m}%d{d}',time.localtime()).format(y='年',m='月',d='日')# 网址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['上映日期'] =  Ondatedf['片名'] =  namedf['类型'] =  movie_classdf['制片国家/地区'] = areadf['想看人数'] = numdf['超链接'] = hrefdf.to_csv('2022春节档电影_'+today+'.csv',mode='w',index=None,encoding='gbk')print('保存完成!')

输出结果

Python爬取2022春节档电影信息
Python爬取2022春节档电影信息
在这里插入图片描述

三国人物百科