用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}%dpb7fbr7',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 jieba分詞并統(tǒng)計(jì)詞頻后輸出結(jié)果到Excel和txt文檔方法
本篇文章主要介紹了python jieba分詞并統(tǒng)計(jì)詞頻后輸出結(jié)果到Excel和txt文檔方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-02-02
對(duì)Django中的權(quán)限和分組管理實(shí)例講解
今天小編就為大家分享一篇對(duì)Django中的權(quán)限和分組管理實(shí)例講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-08-08
解決tensorflow訓(xùn)練時(shí)內(nèi)存持續(xù)增加并占滿的問題
今天小編就為大家分享一篇解決tensorflow訓(xùn)練時(shí)內(nèi)存持續(xù)增加并占滿的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-01-01
Django Admin中增加導(dǎo)出Excel功能過程解析
這篇文章主要介紹了Django Admin中增加導(dǎo)出Excel功能過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-09-09
使用Pytorch構(gòu)建第一個(gè)神經(jīng)網(wǎng)絡(luò)模型?附案例實(shí)戰(zhàn)
這篇文章主要介紹了用Pytorch構(gòu)建第一個(gè)神經(jīng)網(wǎng)絡(luò)模型(附案例實(shí)戰(zhàn)),本文通過實(shí)例代碼給大家講解的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-03-03

