用Python爬取2022春節(jié)檔電影信息
前提條件
熟悉HTML基礎(chǔ)語句
熟悉Xpath基礎(chǔ)語句
相關(guān)介紹
Python是一種跨平臺(tái)的計(jì)算機(jī)程序設(shè)計(jì)語言。是一個(gè)高層次的結(jié)合了解釋性、編譯性、互動(dòng)性和面向?qū)ο蟮哪_本語言。最初被設(shè)計(jì)用于編寫自動(dòng)化腳本(shell),隨著版本的不斷更新和語言新功能的添加,越多被用于獨(dú)立的、大型項(xiàng)目的開發(fā)。Requests是一個(gè)很實(shí)用的Python HTTP客戶端庫。Pandas是一個(gè)Python軟件包,提供快速,靈活和可表達(dá)的數(shù)據(jù)結(jié)構(gòu),旨在使結(jié)構(gòu)化(表格,多維,潛在異構(gòu))和時(shí)間序列數(shù)據(jù)的處理既簡(jiǎn)單又直觀。Time是python標(biāo)準(zhǔn)庫,無需額外下載,主要用于處理時(shí)間問題。Lxml是XML和HTML的解析器,其主要功能是解析和提取XML和HTML中的數(shù)據(jù);lxml和正則一樣,也是用C語言實(shí)現(xiàn)的,是一款高性能的python HTML、XML解析器,也可以利用XPath語法,來定位特定的元素及節(jié)點(diǎn)信息。
HTML是超文本標(biāo)記語言,主要用于顯示數(shù)據(jù),他的焦點(diǎn)是數(shù)據(jù)的外觀XML是可擴(kuò)展標(biāo)記語言,主要用于傳輸和存儲(chǔ)數(shù)據(jù),他的焦點(diǎn)是數(shù)據(jù)的內(nèi)容
實(shí)驗(yàn)?zāi)繕?biāo):Python爬取2022春節(jié)檔電影信息
實(shí)驗(yàn)環(huán)境
Python 3.x (面向?qū)ο蟮母呒?jí)語言)
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打開瀏覽器操作臺(tái)
按Ctrl+Shift+C快捷鍵
按Ctrl+F快捷鍵,控制臺(tái)出現(xiàn)搜索框
復(fù)制Xpath
Xpath為//*[@id=“showing-soon”]/div[1]/div/h3/a
粘貼到搜索框,驗(yàn)證Xpath
查看HTML,尋找共性
發(fā)現(xiàn)目標(biāo)元素都在一個(gè)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['制片國(guó)家/地區(qū)'] = area df['想看人數(shù)'] = num df['超鏈接'] = href
代碼實(shí)現(xiàn)
# -*- coding: utf-8 -*- """ Created on Tue Jan 25 10:07:11 2022 @author: TFX """ import time import requests # 請(qǐng)求庫 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/' # 請(qǐng)求頭 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ā)送請(qǐng)求 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()') # 制片國(guó)家 / 地區(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['制片國(guó)家/地區(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)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python實(shí)現(xiàn)PS濾鏡特效之扇形變換效果示例
這篇文章主要介紹了Python實(shí)現(xiàn)PS濾鏡特效之扇形變換效果,結(jié)合實(shí)例形式分析了Python實(shí)現(xiàn)PS濾鏡扇形變換效果的原理與相關(guān)操作技巧,需要的朋友可以參考下2018-01-01淺談基于Pytest框架的自動(dòng)化測(cè)試開發(fā)實(shí)踐
Pytest是Python的一種易用、高效和靈活的單元測(cè)試框架,本文主要介紹了基于Pytest框架的自動(dòng)化測(cè)試開發(fā)實(shí)踐,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-12-12python 實(shí)現(xiàn)Harris角點(diǎn)檢測(cè)算法
這篇文章主要介紹了python 實(shí)現(xiàn)Harris角點(diǎn)檢測(cè)算法,幫助大家更好的利用python處理圖像,感興趣的朋友可以了解下2020-12-12pandas數(shù)據(jù)合并之pd.concat()用法詳解
本文主要介紹了pandas數(shù)據(jù)合并之pd.concat()用法詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-06-06Python中用altzone()方法處理時(shí)區(qū)的教程
這篇文章主要介紹了Python中用altzone()方法處理時(shí)區(qū)的教程,是Python入門中的基礎(chǔ)知識(shí),需要的朋友可以參考下2015-05-05python opencv實(shí)現(xiàn)圖片缺陷檢測(cè)(講解直方圖以及相關(guān)系數(shù)對(duì)比法)
這篇文章主要介紹了python opencv 圖片缺陷檢測(cè),主要講解直方圖以及相關(guān)系數(shù)對(duì)比法,本文通過實(shí)例截圖給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-04-04Python利用pdfplumber提取PDF文檔中的表格數(shù)據(jù)并導(dǎo)出
pdfplumber是一個(gè)功能強(qiáng)大的Python庫,可以用于解析PDF文檔并提取其中的文本、表格和圖像等內(nèi)容,下面我們就來學(xué)習(xí)一下如何使用pdfplumber提取PDF表格數(shù)據(jù)吧2023-12-12Python爬蟲之使用MongoDB存儲(chǔ)數(shù)據(jù)的實(shí)現(xiàn)
本文主要介紹了Python爬蟲之使用MongoDB存儲(chǔ)數(shù)據(jù)的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-06-06Tensorflow分類器項(xiàng)目自定義數(shù)據(jù)讀入的實(shí)現(xiàn)
這篇文章主要介紹了Tensorflow分類器項(xiàng)目自定義數(shù)據(jù)讀入的實(shí)現(xiàn),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-02-02