用Python爬取2022春節檔電影信息

前提條件

熟悉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第三方庫)

具體步驟

目標網站

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

在這裡插入圖片描述

分析網站

按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['上映日期'] =  Ondate
df['片名'] =  name
df['類型'] =  movie_class
df['制片國傢/地區'] = area
df['想看人數'] = num
df['超鏈接'] = href

在這裡插入圖片描述

代碼實現

# -*- coding: utf-8 -*-
"""
Created on Tue Jan 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}',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['上映日期'] =  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春節檔電影信息內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: