導航:首頁 > 電影資訊 > 如何爬取小電影

如何爬取小電影

發布時間:2023-11-29 10:42:52

㈠ 第5課 實例二:爬取電影

1. 選擇一個網站: https://www.douban.com

2. 在進行爬取之前,我們先去看看它的robots協議。

協議網址: https://www.douban.com /robots.txt

3. 進入首頁  https://movie.douban.com/top250?start=0&filter=  ,打開檢查工具,在Elements里查看這個網頁,是什麼結構。

點擊開發者工具左上角的小箭頭,選中「肖申克的救贖」,這樣就定位了電影名的所在位置,審查元素中顯示<span class="title">:<span>標簽內的文本,class屬性;推薦語和評分也是如此,<span class='inq'>,<span class='rating_num'>;序號:<em class>,<em>標簽內的文本,class屬性;推薦語<span class='inq'>;鏈接是<a>標簽里href的值。最後,它們最小共同父級標簽,是<li>。

4. 我們再換個電影驗證下找的規律是否正確。

5. check後,我們再看一共10頁,每頁的url有什麼相關呢?

第1頁: https://movie.douban.com/top250?start=0&filter=

第3頁: https://movie.douban.com/top250?start=50&filter=

第7頁: https://movie.douban.com/top250?start=150&filter=

發現只有start後面是有變化,規律就是第N頁,start=(N-1)*25

6. 基於以上分析,我們有兩種寫爬蟲的思路。

思路一:先爬取最小共同父級標簽 <li>,然後針對每一個父級標簽,提取裡面的序號/電影名/評分/推薦語/鏈接。

思路二:分別提取所有的序號/所有的電影名/所有的評分/所有的推薦語/所有的鏈接,然後再按順序一一對應起來。

import requests# 引用requests庫

from bs4 import BeautifulSoup# 引用BeautifulSoup庫

res_films=requests.get('https://movie.douban.com/')# 獲取數據

bs_films=BeautifulSoup(res_films.text,'html.parser')# 解析數據

fil_title=bs_films.find_all(class_='title')

fil_num=bs_films.find_all(class_="")

list_all=[]# 創建一個空列表,用於存儲信息

for x in range(len(fil_num)):

    list_films=[fil_num[x].text[18:-14],fil_title[x].find('a')['href']]

    list_all.append(list_films)

    print(list_all)

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


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

讓我們愉快地開始吧~

Python版本: 3.6.4

相關模塊:

requests模塊;

re模塊;

csv模塊;

以及一些Python自帶的模塊。

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

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

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

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

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

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

開啟4個進程來下載鏈接

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

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

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

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

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

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

㈣ 從電影網站爬取數據並進行可視化分析會用到哪些數據

從電影網站爬取數據並進行可視化分析會用到的數據如下。
1、beautifulsoup、re、urllib庫。
2、SQLite包,數據可視化方面主要用到flask框架、echarts和wordcloud等。
3、此類數據可以搭建簡單的數據可視化網站。

㈤ 怎樣用python獲取電影

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

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

前置需求:

Python3語法基礎

HTTP網路基礎

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

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

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

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

㈥ python爬取豆辮電影時候怎麼樣找到影片的url

看你爬什麼咯?如果是網頁,那就是頁面代碼;如果是制定內容,那爬取的時候就給定匹配的關鍵字,返回你指定的數據(字串,list,json都可以)

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

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

㈧ 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()

運行結果:

閱讀全文

與如何爬取小電影相關的資料

熱點內容
左右分屏的3d電影怎麼看手機 瀏覽:180
u盤電影怎麼弄到電視上播放 瀏覽:368
近些年有哪些國產動畫電影 瀏覽:598
無錫汽車電影院門票多少錢一張 瀏覽:967
轉轉如何出售電影 瀏覽:76
手機看電影用什麼網站 瀏覽:998
電視怎麼播放u盤里的電影下載 瀏覽:269
瓊和什麼電影 瀏覽:584
電影武藏好看嗎 瀏覽:463
穿高跟鞋的男人什麼電影 瀏覽:923
怎麼播放百度網盤里的電影 瀏覽:939
媽媽服葯自盡爸爸不在家是什麼電影 瀏覽:972
哪種動物電影好看 瀏覽:209
快手電筒影特效怎麼弄的 瀏覽:93
搜索電影票房如何 瀏覽:93
蘋果xsmax看電影怎麼這么費電 瀏覽:969
比利懷德好看的電影 瀏覽:771
死侍和金剛狼電梯什麼電影 瀏覽:9
下載電影打開是直播快進不了怎麼回事 瀏覽:16
好看又治癒的日本動漫電影 瀏覽:636