用Python爬取2022春節(jié)檔電影信息
前提條件
熟悉HTML基礎(chǔ)語句
熟悉Xpath基礎(chǔ)語句
相關(guān)介紹
Python是一種跨平臺的計算機(jī)程序設(shè)計語言。是一個高層次的結(jié)合了解釋性、編譯性、互動性和面向?qū)ο蟮哪_本語言。最初被設(shè)計用于編寫自動化腳本(shell),隨著版本的不斷更新和語言新功能的添加,越多被用于獨立的、大型項目的開發(fā)。Requests是一個很實用的Python HTTP客戶端庫。Pandas是一個Python軟件包,提供快速,靈活和可表達(dá)的數(shù)據(jù)結(jié)構(gòu),旨在使結(jié)構(gòu)化(表格,多維,潛在異構(gòu))和時間序列數(shù)據(jù)的處理既簡單又直觀。Time是python標(biāo)準(zhǔn)庫,無需額外下載,主要用于處理時間問題。Lxml是XML和HTML的解析器,其主要功能是解析和提取XML和HTML中的數(shù)據(jù);lxml和正則一樣,也是用C語言實現(xiàn)的,是一款高性能的python HTML、XML解析器,也可以利用XPath語法,來定位特定的元素及節(jié)點信息。
HTML是超文本標(biāo)記語言,主要用于顯示數(shù)據(jù),他的焦點是數(shù)據(jù)的外觀XML是可擴(kuò)展標(biāo)記語言,主要用于傳輸和存儲數(shù)據(jù),他的焦點是數(shù)據(jù)的內(nèi)容
實驗?zāi)繕?biāo):Python爬取2022春節(jié)檔電影信息
實驗環(huán)境
Python 3.x (面向?qū)ο蟮母呒壵Z言)
Resquest 2.14.2 (python第三方庫)
Pandas 1.1.0(python第三方庫)
Time (python標(biāo)準(zhǔn)庫)
Lxml(python第三方庫)
具體步驟
目標(biāo)網(wǎng)站
https://movie.douban.com/cinema/later/shenzhen/
分析網(wǎng)站
按F12打開瀏覽器操作臺
按Ctrl+Shift+C快捷鍵
按Ctrl+F快捷鍵,控制臺出現(xiàn)搜索框
復(fù)制Xpath
Xpath為//*[@id=“showing-soon”]/div[1]/div/h3/a
粘貼到搜索框,驗證Xpath
查看HTML,尋找共性
發(fā)現(xiàn)目標(biāo)元素都在一個div框里,修改Xpath
Xpath修改為//*[@id=“showing-soon”]/div/div/h3/a
其余目標(biāo)元素,以此類推
最后,用Pandas保存為CSV文件
# 利用pandas保存文件 df = pd.DataFrame() df['上映日期'] = Ondate df['片名'] = name df['類型'] = movie_class df['制片國家/地區(qū)'] = area df['想看人數(shù)'] = num df['超鏈接'] = href
代碼實現(xiàn)
# -*- 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}%dvvxyksv9kd',time.localtime()).format(y='年',m='月',d='日') # 網(wǎng)址 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' } # 發(fā)送請求 response = requests.get(url=url,headers=headers) # 數(shù)據(jù)解析,xpath可以用瀏覽器檢查元素獲得 html = etree.HTML(response.text) #類型變換 # 電影詳細(xì)超鏈接 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()') # 制片國家 / 地區(qū) area = html.xpath('//*[@id="showing-soon"]/div/div/ul/li[3]/text()') # 想看人數(shù) 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['制片國家/地區(qū)'] = area df['想看人數(shù)'] = num df['超鏈接'] = href df.to_csv('2022春節(jié)檔電影_'+today+'.csv',mode='w',index=None,encoding='gbk') print('保存完成!')
輸出結(jié)果
總結(jié)
到此這篇關(guān)于用Python爬取2022春節(jié)檔電影信息的文章就介紹到這了,更多相關(guān)Python春節(jié)檔電影信息內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
pandas數(shù)據(jù)合并之pd.concat()用法詳解
本文主要介紹了pandas數(shù)據(jù)合并之pd.concat()用法詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-06-06Python中用altzone()方法處理時區(qū)的教程
這篇文章主要介紹了Python中用altzone()方法處理時區(qū)的教程,是Python入門中的基礎(chǔ)知識,需要的朋友可以參考下2015-05-05python opencv實現(xiàn)圖片缺陷檢測(講解直方圖以及相關(guān)系數(shù)對比法)
這篇文章主要介紹了python opencv 圖片缺陷檢測,主要講解直方圖以及相關(guān)系數(shù)對比法,本文通過實例截圖給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-04-04Python利用pdfplumber提取PDF文檔中的表格數(shù)據(jù)并導(dǎo)出
pdfplumber是一個功能強(qiáng)大的Python庫,可以用于解析PDF文檔并提取其中的文本、表格和圖像等內(nèi)容,下面我們就來學(xué)習(xí)一下如何使用pdfplumber提取PDF表格數(shù)據(jù)吧2023-12-12Python爬蟲之使用MongoDB存儲數(shù)據(jù)的實現(xiàn)
本文主要介紹了Python爬蟲之使用MongoDB存儲數(shù)據(jù)的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-06-06Tensorflow分類器項目自定義數(shù)據(jù)讀入的實現(xiàn)
這篇文章主要介紹了Tensorflow分類器項目自定義數(shù)據(jù)讀入的實現(xiàn),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-02-02