導航:首頁 > 電影天堂 > python爬蟲爬電影天堂

python爬蟲爬電影天堂

發布時間:2023-05-12 01:21:03

1. 用Python爬蟲爬取愛奇藝上的VIP電影視頻,是違法行為嗎

屬於違法行為,情節嚴重者,愛奇藝將有權對您追究法律責任

2. python爬蟲看電影會有什麼影響

閑著在家想看電影,但是猛地不知道要看啥電影,腦子想半天也想不出來一個好電影名字!乾脆直接在豆瓣電影上獲取最近熱門的電影,然後一個一個挨著看打發時間!

獲取豆瓣電影信息也是學爬蟲的一個入門例子,不知道為啥好多人學爬蟲都拿豆瓣電影來練手,一個應該是爬取比較簡單,另一個應該是這個平台反爬措施比較low,接下來讓我們來看看怎麼去實現獲取豆瓣電影前200個熱門電影信息!

1.請求數據

第一步先打開豆瓣電影網頁,分析請求看怎樣才能請求到數據。

刷新豆瓣電影網頁,從瀏覽器自帶的開發工具network中XHR可以看到各種請求,其中標黃的search_subject?type_movie這個請求就是請求電影信息,下面的type_tv就是請求電視劇信息的。從右邊標黃的request url中看到是請求的鏈接,但參數信息都被編碼,用urllib.parse.unquote()方法來進行解碼:

解碼後的請求連接如圖所示,猜想page_limt為每次請求到的數據量,page_start為從第幾頁開始請求,將這個鏈接在瀏覽器中打開來驗證一下猜想。

看到返回的是一個json字元串,裡麵包含50條電影信息,其中有名字,評分,鏈接等,將page_start = 0 變為1,就請求到下一個50條信息。根據鏈接的這個規律,可以對page_start 不斷賦值,從而實現多條信息的獲取!(公眾號 ly戲說編程)

第二步構造請求頭,即看看瀏覽器通過這個鏈接向伺服器發送了什麼請求參數才拿到這些json數據,打開瀏覽器開發者工具。

按照圖中1到4步可以看到這個請求的request headers,將請求頭裡面的信息全部拿出來,構造為爬蟲的請求頭。

坑:請求頭構造的時候Accept-Encoding要將br去掉。原因:Accept-Encoding用來聲明瀏覽器支持的編碼類型,一般有gzip,deflate,br 等等。但在python3的requests包中:

response.content 位元組方式的響應體,會自動為你解碼 gzip 和 deflate 壓縮 類型:bytes
reponse.text 字元串方式的響應體,會自動根據響應頭部的字元編碼進行解碼。類型:str
但偏偏不支持br的解碼,如果加上br可能造成你請求回來的是亂碼!所以要去掉br!

這樣通過模擬瀏覽器請求數據,就可以得到伺服器返回的json字元串,再解析json字元串得到每一個電影的詳情鏈接。

2.提取信息

在得到每一個電影的鏈接後,依次訪問每一個電影的鏈接,然後根據關鍵信息所在標簽用xpath進行提取。這里只對電影名字、年份、導演、類型、評分進行提取。

例如提取1917,在網頁右擊「1917」,然後選擇檢查,在Elements中1917所在位置右擊,選擇Copy,然後Copy XPath即可拿到1917的Xpath路徑,其它信息的提取操作步驟一樣。

但是不同電影網頁裡面相同類型的信息所在的XPath路徑可能不同,這就需要找到他們的相同處,提取相同的XPath路徑,從而進行大批量提取。

比如電影類型,用直接 xpath的方法就不好使,不同電影網頁裡面電影類型所處的標簽位置不同,用 xpath拷貝出來的路徑有差異,這就需要根據所在標簽的property屬性來獲取。主要代碼如下:

對每一網頁鏈接裡面的信息進行提取,這里每提取一個就停1s,為的是避免平台檢測到異常訪問,這樣就拿到每一個電影的信息,然後再將這信息保存到excel中,效果如圖所示

前幾名都是奧斯卡得獎電影有木有!感興趣的小夥伴快來試試!話不多說,挨著去看電影咯!去哪看?去公眾號 ly戲說編程 首頁vip影院看,裡面還有各種學習資源免費分享!

3. python爬蟲抓取電影top20排名怎麼寫

初步接觸python爬蟲(其實python也是才起步),發現一段代碼研究了一下,覺得還比較有用處,Mark下。
上代碼:

#!/usr/bin/python#coding=utf-8#Author: Andrew_liu#mender:cy"""
一個簡單的Python爬蟲, 用於抓取豆瓣電影Top前100的電影的名稱
Anthor: Andrew_liu
mender:cy
Version: 0.0.2
Date: 2017-03-02
Language: Python2.7.12
Editor: JetBrains PyCharm 4.5.4
"""import stringimport reimport urllib2import timeclass DouBanSpider(object) :
"""類的簡要說明
主要用於抓取豆瓣Top100的電影名稱

Attributes:
page: 用於表示當前所處的抓取頁面
cur_url: 用於表示當前爭取抓取頁面的url
datas: 存儲處理好的抓取到的電影名稱
_top_num: 用於記錄當前的top號碼
"""

def __init__(self):
self.page = 1
self.cur_url = "h0?start={page}&filter=&type="
self.datas = []
self._top_num = 1
print u"豆瓣電影爬蟲准備就緒, 准備爬取數據..."

def get_page(self, cur_page):
"""
根據當前頁碼爬取網頁HTML
Args:
cur_page: 表示當前所抓取的網站頁碼
Returns:
返回抓取到整個頁面的HTML(unicode編碼)
Raises:
URLError:url引發的異常
"""
url = self.cur_url try:
my_page = urllib2.urlopen(url.format(page=(cur_page - 1) * 25)).read().decode("utf-8") except urllib2.URLError, e: if hasattr(e, "code"): print "The server couldn't fulfill the request."
print "Error code: %s" % e.code elif hasattr(e, "reason"): print "We failed to reach a server. Please check your url and read the Reason"
print "Reason: %s" % e.reason return my_page def find_title(self, my_page):
"""
通過返回的整個網頁HTML, 正則匹配前100的電影名稱

Args:
my_page: 傳入頁面的HTML文本用於正則匹配
"""
temp_data = []
movie_items = re.findall(r'<span.*?class="title">(.*?)</span>', my_page, re.S) for index, item in enumerate(movie_items): if item.find("&nbsp") == -1:
temp_data.append("Top" + str(self._top_num) + " " + item)
self._top_num += 1
self.datas.extend(temp_data) def start_spider(self):
"""
爬蟲入口, 並控制爬蟲抓取頁面的范圍
"""
while self.page <= 4:
my_page = self.get_page(self.page)
self.find_title(my_page)
self.page += 1def main():
print u"""
###############################
一個簡單的豆瓣電影前100爬蟲
Author: Andrew_liu
mender: cy
Version: 0.0.2
Date: 2017-03-02
###############################
"""
my_spider = DouBanSpider()
my_spider.start_spider()
fobj = open('/data/moxiaokai/HelloWorld/cyTest/blogcode/top_move.txt', 'w+') for item in my_spider.datas: print item
fobj.write(item.encode("utf-8")+' ')
time.sleep(0.1) print u"豆瓣爬蟲爬取完成"if __name__ == '__main__':
main()

運行結果:

4. 如何利用Python來爬取網頁視頻呢

前幾天寫了個爬蟲,用path、re、BeautifulSoup爬取的B站python視頻,但是這個爬蟲有有個缺陷,沒能獲取視頻的圖片信息,如果你去嘗試你會發現它根本就不在返回的結果裡面。今天就用分析Ajax的方法獲取到。

分析頁面

點一下搜索,這個url才會出現數爛神,或者點一下下一頁

然後就構造這歷知個請求就可以了。需要注意的是最後一個參數不能添加。

代碼實戰

代碼裡面有些解釋已經很清楚了,在這里再次復習一下

re.sub()

這個函數傳入五個參數,前三個是必須傳入的pattern,、repl、string

第一個是表示的是正則表達式中模式字元串

第二個是要被替換的字元串

第三個是文本字元串剩下兩個可選參數,一個是count一個是薯虧flag。

時間戳轉換成標准格式的時間第一種方法

第二種方法

綜上就是這次的全部內容,多加練習繼續加油!

5. python爬蟲可以爬視頻嗎

當然可以,網上的一切資源皆為數據,爬蟲都可以爬取,包括文件、視頻、音頻、圖片等。

6. Python爬蟲之《電影天堂》電影詳情+下載地址爬取

紀念自學Python以來,自己成功寫出的第一個爬蟲程序......

7. Python爬蟲實戰,Python多線程抓取5千多部最新電影下載鏈接


利用Python多線程爬了5000多部最新電影下載鏈接,廢話不多說~

讓我們愉快地開始吧~

Python版本: 3.6.4

相關模塊:

requests模塊;

re模塊;

csv模塊;

以及一些Python自帶的模塊。

安裝Python並添加到環境變數,pip安裝需要的相關模塊即可。

拿到鏈接之後,接下來就是繼續訪問這些鏈接,然後拿到電影的下載鏈接

但是這里還是有很多的小細節,例如我們需要拿到電影的總頁數,其次這么多的頁面,一個線程不知道要跑到什麼時候,所以我們首先先拿到總頁碼,然後用多線程來進行任務的分配

我們首先先拿到總頁碼,然後用多線程來進行任務的分配

總頁數其實我們用re正則來獲取

爬取的內容存取到csv,也可以寫個函數來存取

開啟4個進程來下載鏈接

您學廢了嗎?最後祝大家天天進步!!學習Python最重要的就是心態。我們在學習過程中必然會遇到很多難題,可能自己想破腦袋都無法解決。這都是正常的,千萬別急著否定自己,懷疑自己。如果大家在剛開始學習中遇到困難,想找一個python學習交流環境,可以加入我們,領取學習資料,一起討論,會節約很多時間,減少很多遇到的難題。

8. Python爬蟲實戰(1)requests爬取豆瓣電影TOP250

爬取時間:2020/11/25
系統環境:Windows 10
所用工具:Jupyter NotebookPython 3.0
涉及的庫:requestslxmlpandasmatplotlib umpy

蛋肥想法: 先將電影名稱、原名、評分、評價人數、分類信息從網站上爬取下來。

蛋肥想法: print數據列表後發現電影原名、分類信息等存在不需要的字元,需預先處理;同時因為後續想做一個豆瓣電影TOP250的維度分布圖,而同一電影存在多個發行國家、類型(如「法國 美國 / 劇情 動作 犯罪」),為了簡(偷)便(懶),這里均取第一個作為記入的數據;最後將數據保存為xlsx。

蛋肥想法: 蛋肥想知道在豆瓣電影TOP250中年份、國家、類型的維度數據,為了練手,使用剛才保存成xlsx的數據,並分別畫成雷達圖、柱形圖、扇形圖。

9. 傻瓜如何一分鍾利用Python爬取VIP電影

傻瓜如何一分鍾利用Python爬取VIP電影

10. 怎樣用python獲取電影

實驗室這段時間要採集電影的信息,給出了一個很大的數據集,數據集包含了4000多個電影名,需要我寫一個爬蟲來爬取電影名對應的電影信息。

其實在實際運作中,根本就不需要爬蟲,只需要一點簡單的Python基礎就可以了。

前置需求:

Python3語法基礎

HTTP網路基礎

===================================

第一步,確定API的提供方。IMDb是最大的電影資料庫,與其相對的,有一個OMDb的網站提供了API供使用。這家網站的API非常友好,易於使用。

第二步,確定網址的格式。

第三步,了解基本的Requests庫的使用方法。

閱讀全文

與python爬蟲爬電影天堂相關的資料

熱點內容
after3免費完整下載 瀏覽:946
監獄暴力犯罪電影 瀏覽:568
韓國電影愛情片打電話邂逅 瀏覽:817
北京送快遞小哥電影 瀏覽:640
金希貞的全部韓劇電影在線觀看 瀏覽:285
以前有部電影裡面有個女鬼 瀏覽:548
木星上行國語版在線免費觀看 瀏覽:421
《飛奪瀘定橋》電影 瀏覽:478
1905下載的視頻在哪個文件夾 瀏覽:972
美片 瀏覽:150
外國一個電影騎著發火的摩托 瀏覽:1000
晚上我經常和我的父母一塊看電視英語 瀏覽:631
韓國阿強和阿珍是什麼電影 瀏覽:312
看電影九排 瀏覽:308
天主教宗教題材電影 瀏覽:417
二戰電影虎虎虎國語版 瀏覽:332
戰斗機 電影 瀏覽:937
成龍教外國小孩功夫電影叫什麼 瀏覽:672
看電影怎麼英文怎麼翻譯軟體 瀏覽:77