python下載電影
1. 怎樣用python爬取豆瓣電影
推薦you-get工具包,pip可以直接下載安裝
2. python能爬電影嗎
可以爬電影的。你想看什麼電影?我能找到
3. 在哪裡可以在線看或下載電影巨蟒與聖杯monty python
使用網路網盤免費分享給你鏈接:https://pan..com/s/1m0CPCYDrZDJAzD3O6p0iBg
《巨蟒與聖杯》是AsociaceCeskýchFilmovýchKlubu發行的喜劇片,由特里·吉列姆執導,格雷厄姆·查普曼、約翰·克里斯、艾瑞克·愛都、特里·吉列姆、特瑞·瓊斯、麥克·帕林主演,該片於1975年4月3日在英國上映。該片的劇情取材於中世紀英亞瑟王的傳說,講述了阿瑟王和圓桌武士們接受上帝的旨意去尋找聖杯傳說的故事。
4. Python抓取豆瓣電影排行榜壓縮包
1.觀察url
首先觀察一下網址的結構 p250?start=0&filter=&type= :
可以看到,問號?後有三個參數 start、filter、type,其中start代表頁碼,每頁展示25部電影,0代表第一頁,以此類推25代表第二頁,50代表第三頁...
filter顧名思義,是過濾已經看過的電影,filter和type在這里不重要,可以不管。
2.查看網頁源代碼
打開上面的網址,查看源代碼,可以看到信息的展示結構如下:
1 <ol class="grid_view"> 2 <li> 3 <div class="item"> 4 <div class="pic"> 5 <em class="">1</em> 6 <a href="ht.com/subject/1292052/"> 7 <img alt="肖申克的救贖" src="hster_cover/ipst/public/p480747492.jpg" class=""> 8 </a> 9 </div>10 <div class="info">11 <div class="hd">12 <a href="han.com/subject/1292052/" class="">13 <span class="title">肖申克的救贖</span>14 <span class="title"> / The Shawshank Redemption</span>15 <span class="other"> / 月黑高飛(港) / 刺激1995(台)</span>16 </a>17 18 19 <span class="playable">[可播放]</span>20 </div>21 <div class="bd">22 <p class="">23 導演: 弗蘭克·德拉邦特 Frank Darabont 主演: 蒂姆·羅賓斯 Tim Robbins /...<br>24 1994 / 美國 / 犯罪 劇情25 </p>26 27 28 <div class="star">29 <span class="rating5-t"><em>9.6</em></span>30 <span>646374人評價</span>31 </div>32 33 <p class="quote">34 <span class="inq">希望讓人自由。</span>35 </p>36 </div>37 </div>38 </div>39 </li>
其中<em class="">1</em>代表排名,<span class="title">肖申克的救贖</span>代表電影名,其他信息的含義也很容易能看出來。
於是接下來可以寫正則表達式:
1 pattern = re.compile(u'<div.*?class="item">.*?<div.*?class="pic">.*?' 2 + u'<em.*?class="">(.*?)</em>.*?' 3 + u'<div.*?class="info">.*?<span.*?class="title">(.*?)' 4 + u'</span>.*?<span.*?class="title">(.*?)</span>.*?' 5 + u'<span.*?class="other">(.*?)</span>.*?</a>.*?' 6 + u'<div.*?class="bd">.*?<p.*?class="">.*?' 7 + u'導演: (.*?) ' 8 + u'主演: (.*?)<br>' 9 + u'(.*?) / (.*?) / '10 + u'(.*?)</p>'11 + u'.*?<div.*?class="star">.*?<em>(.*?)</em>'12 + u'.*?<span>(.*?)人評價</span>.*?<p.*?class="quote">.*?'13 + u'<span.*?class="inq">(.*?)</span>.*?</p>', re.S)
在此處flag參數re.S代表多行匹配。
3.使用面向對象的設計模式編碼
代碼如下:
1 # -*- coding:utf-8 -*- 2 __author__ = 'Jz' 3 import urllib2 4 import re 5 import sys 6 7 class MovieTop250: 8 def __init__(self): 9 #設置默認編碼格式為utf-810 reload(sys)11 sys.setdefaultencoding('utf-8')12 self.start = 013 self.param = '&filter=&type='14 self.headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64)'}15 self.movieList = []16 self.filePath = 'D:/coding_file/python_file/File/DoubanTop250.txt'17 18 def getPage(self):19 try:20 URL = 'ht.com/top250?start=' + str(self.start)21 request = urllib2.Request(url = URL, headers = self.headers)22 response = urllib2.urlopen(request)23 page = response.read().decode('utf-8')24 pageNum = (self.start + 25)/2525 print '正在抓取第' + str(pageNum) + '頁數據...' 26 self.start += 2527 return page28 except urllib2.URLError, e:29 if hasattr(e, 'reason'):30 print '抓取失敗,具體原因:', e.reason31 32 def getMovie(self):33 pattern = re.compile(u'<div.*?class="item">.*?<div.*?class="pic">.*?'34 + u'<em.*?class="">(.*?)</em>.*?'35 + u'<div.*?class="info">.*?<span.*?class="title">(.*?)'36 + u'</span>.*?<span.*?class="title">(.*?)</span>.*?'37 + u'<span.*?class="other">(.*?)</span>.*?</a>.*?'38 + u'<div.*?class="bd">.*?<p.*?class="">.*?'39 + u'導演: (.*?) '40 + u'主演: (.*?)<br>'41 + u'(.*?) / (.*?) / '42 + u'(.*?)</p>'43 + u'.*?<div.*?class="star">.*?<em>(.*?)</em>'44 + u'.*?<span>(.*?)人評價</span>.*?<p.*?class="quote">.*?'45 + u'<span.*?class="inq">(.*?)</span>.*?</p>', re.S)46 while self.start <= 225:47 page = self.getPage()48 movies = re.findall(pattern, page)49 for movie in movies:50 self.movieList.append([movie[0], movie[1], movie[2].lstrip(' / '),
51 movie[3].lstrip(' / '), movie[4],
52 movie[5], movie[6].lstrip(), movie[7], movie[8].rstrip(),53 movie[9], movie[10], movie[11]])54 55 def writeTxt(self):56 fileTop250 = open(self.filePath, 'w')57 try:58 for movie in self.movieList:59 fileTop250.write('電影排名:' + movie[0] + '\r\n')60 fileTop250.write('電影名稱:' + movie[1] + '\r\n')61 fileTop250.write('外文名稱:' + movie[2] + '\r\n')62 fileTop250.write('電影別名:' + movie[3] + '\r\n')63 fileTop250.write('導演姓名:' + movie[4] + '\r\n')64 fileTop250.write('參與主演:' + movie[5] + '\r\n')65 fileTop250.write('上映年份:' + movie[6] + '\r\n')66 fileTop250.write('製作國家/地區:' + movie[7] + '\r\n')67 fileTop250.write('電影類別:' + movie[8] + '\r\n')68 fileTop250.write('電影評分:' + movie[9] + '\r\n')69 fileTop250.write('參評人數:' + movie[10] + '\r\n')70 fileTop250.write('簡短影評:' + movie[11] + '\r\n\r\n')71 print '文件寫入成功...'72 finally:73 fileTop250.close()74 75 def main(self):76 print '正在從豆瓣電影Top250抓取數據...'77 self.getMovie()78 self.writeTxt()79 print '抓取完畢...'80 81 DouBanSpider = MovieTop250()82 DouBanSpider.main()
代碼比較簡單,最後將信息寫入一個文件,沒有什麼需要解釋的地方。
5. 誰知道BT怎麼用詳細點,有沒有什麼好的種子網站下電影的
http://bt.btchina.net/
簡單介紹BT
春風來,千樹萬樹梨花開.BT之流行比之當年江湖的流行有過之而無不及
BT英文意思是比特流.融匯客戶端的帶寬,把文件分成碎塊然後匯聚成為下載鏈產生的壯觀的速度,這讓我們想到中國的一句古詩「飛流直下三千尺 疑是銀河落九天 」
下載的人越多,文件越大,速度就越快,而且只要普通的電腦,一根ADSL電話線就可以安裝BT伺服器。
首先感謝SEK的信任與支持,本版得以創立,
本版目的在於介紹與推廣BT交流BT技術與BT資源,
BT可以說是一個新東西,因為確有很多人不知道BT為何物,出來的時間也不長
也可以不算什麼新東西了,因為現在的BT站很多,而且很多也做的很大了
下面我簡單明了的介紹一下BT為何物(對象為從沒聽說過BT為何物者)
BT是一種下載與交流文件的方式,是下載服務與P2P文件交流的協議及其軟體
BT在下載的同時利用多個客戶端的上行帶寬組成下載鏈
(通常帶寬分為上行與下行,我們的上行帶寬基本閑置)
同時把要下載的文件分成碎片在這個虛擬的下載鏈上高速的傳輸.
BT下載不需要佔用伺服器的帶寬,只要利用客戶端閑置的資源聚少成多
與傳統的下載方式相比:
BT下載絕不會拖垮伺服器
傳統下載是人越多越慢,BT下載是人越多越快
傳統下載是文件越大越慢(所以很多空間商限制文件大小),而BT下載是文件越大越快.
傳統下載害怕盜鏈,而BT下載是歡迎盜鏈
傳統下載對伺服器要求很好,而BT下載對服務要求不是很高,普通的電腦就可以做出高性能的BT伺服器
傳統下載對線路帶寬要求很高,而BT只要普通的xDSL寬頻即可架站
BT目前存在的問題
BT的官方版本用python語言編寫,python語言編程快捷開發速度快有很好的跨平台性能,可是他號稱運行最慢的一種編程語言,在windows上更是受限一些服務端用
BT的服務端用phthon以及CGI/ASP/PHP等腳本編寫,配置復雜,要配置虛擬機,配置TRACK伺服器,配置WEB伺服器與發布程序等,有經驗的站長初站接觸一開始也會弄的暈頭轉向
BT的客戶端與傳統下載工具使用方式不一樣,大多又是英文(現在已經有了很多漢化版本),而BT處於發展階段,導致客戶端佔用資源大運行不穩定以及存在一些問題等
BT的文件不存在於伺服器上,所以時間較長的沒有種子用戶連接會導致斷檔,這就形成了BT只有最新最熱門的軟體最好下載這樣一種現象
合理的理解與運用BT
作為程序員與站長,我們去解決BT存在的問題,推出更易於使用的軟體
作為用戶,應當認識到BT的適用范圍,認識到BT的優點,合理使用
在很多的時候,BT讓我們更快速的下載與交流文件。我們不再需要擔心交費,不再擔心伺服器會垮了
BT不會取代傳統的下載方式,但是他的神奇應當可以讓我們去接授之使用他
BT不行嗎?
有些人下載了BT用了一下馬上扔掉了:「唉下載不了,下載這么慢........」
其實BT在下載開始,並不會立即下載,而是掃描分析幾分鍾,然後逐漸從慢到快
而BT下載的速度還會受到下載這個文件的人氣的影響
(反過來想,越是好的受歡迎的大的文件,下載速度就越快,而這正是傳統的下載方式所害怕的,我們下載不到我們最喜歡的最新的東西,我們望洋興嘆,但是有了BT,一切如此輕松,我們要拒絕BT嗎?當然不會)
而且些人訛傳BT損傷硬碟雲雲:用BT下文件下的快方便,所以拚命下,一個G一個G的狂拉,就算是你不用BT你的硬碟我怕也受不了(基本上我用普通的下載工具去試1G以上的文件,很多都是電腦死機),所以要合理的使用
我如何做一個BT的站點或者說伺服器:
如果是以前,或許我給你看一大堆長長的教程,然後教你下載各種虛擬機支持軟體,教你配置方法,不過現在很簡單,使用MYBT服務端,一些如此簡單
·MYBT伺服器用C++語言編寫內核,穩定速度快,並針對windows作了大量優化
·首個使用中文的圖性界面的BT伺服器,一鍵安裝,管理程序與服務程序分開運行,有效提高了伺服器性能.內置web伺服器,不需要配置虛擬機,不需要復雜的復雜,一個EXE,一鍵搞定BT站點.
·完全免費,功能不受任何限制,任何普通電腦,亦通ADSL都可以運行MyBT建立站
演示:http://BT.1HE.NET:6969
下載:http://BT.1HE.NET/mybt-server.exe
適用操作系統:NT系統(如win2000/winxp/win2003)
這個軟體沒有幫助,因為他根本不需要幫助
下載以後自解壓,點擊「一鍵安裝伺服器」就全部OK
你可以在圖形界面輕松自定義各種設置,也可以自已修改界面與CSS樣式
我如何種用BT下載文件或發布文件
您可以下載 MYBT下載工具 MyBT客戶端綜合了最新的流行的BT客戶端開發,
界面友好,中文環境,支持多任務,斷點續傳,自動發布種子等功能,運行穩定,速度快.兼容所有BT站點
簡體版下載:http://BT.1HE.NET/mybt.exe
繁體版下載:http://BT.1HE.NET/MyBT_big5.exe
我到哪裡下載BT或發布BT文件
你可以自已建站,也可以到http://BT.1HE.NET:6969下載或上傳BT文件
這里內置BT機器人,會每天到互聯網搜索最新最熱門的BT下載生成索引
目前國內的BT站點很多,以後我們會整理推薦
我在哪裡能找到BT的幫助與資源
在MYBT客戶端有一個幫助文檔(開始菜單-->MYBT下載-->幫助)綜合整理了網路上較全的中文BT幫助與參考,有興趣的可以看看
6. python怎麼抓取豆瓣電影url
#!/usr/bin/env python2.7# encoding=utf-8"""
爬取豆瓣電影TOP250 - 完整示例代碼
"""import codecsimport requestsfrom bs4 import BeautifulSoup
DOWNLOAD_URL = 'httn.com/top250/'def download_page(url):
return requests.get(url, headers={ 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.80 Safari/537.36'
}).contentdef parse_html(html):
soup = BeautifulSoup(html)
movie_list_soup = soup.find('ol', attrs={'class': 'grid_view'})
movie_name_list = [] for movie_li in movie_list_soup.find_all('li'):
detail = movie_li.find('div', attrs={'class': 'hd'})
movie_name = detail.find('span', attrs={'class': 'title'}).getText()
movie_name_list.append(movie_name)
next_page = soup.find('span', attrs={'class': 'next'}).find('a') if next_page: return movie_name_list, DOWNLOAD_URL + next_page['href'] return movie_name_list, Nonedef main():
url = DOWNLOAD_URL with codecs.open('movies', 'wb', encoding='utf-8') as fp: while url:
html = download_page(url)
movies, url = parse_html(html)
fp.write(u'{movies}\n'.format(movies='\n'.join(movies)))if __name__ == '__main__':
main()0414243444546474849505152
簡單說明下,在目錄下會生成一個文檔存放電影名。python2
7. python抓取VIP電影違法嗎
一般來說,抓取本身並不會違法。問題是,你把抓取的信息放在自己的網站/app裡面,進行傳播、引流、獲利。因為你並不擁有這些內容的版權,直接使用很容易觸犯相關法律法規。
簡介:
Python是一種廣泛使用的解釋型、高級和通用的編程語言。Python由荷蘭數學和計算機科學研究學會的Guido van Rossum創造,第一版發布於1991年,它是ABC語言的後繼者,也可以視之為一種使用傳統中綴表達式的LISP方言。
Python提供了高效的高級數據結構,還能簡單有效地面向對象編程。Python語法和動態類型,以及解釋型語言的本質,使它成為多數平台上寫腳本和快速開發應用的編程語言,隨著版本的不斷更新和語言新功能的添加,逐漸被用於獨立的、大型項目的開發。
Python支持多種編程范型,包括函數式、指令式、結構化、面向對象和反射式編程。Python解釋器易於擴展,可以使用C或C++(或者其他可以通過C調用的語言)擴展新的功能和數據類型。Python也可用於可定製化軟體中的擴展程序語言。
Python擁有動態類型系統和垃圾回收功能,能夠自動管理內存使用,並且其本身擁有一個巨大而廣泛的標准庫,提供了適用於各個主要系統平台的源碼或機器碼。
8. 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(" ") == -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()
運行結果: