網(wǎng)站性能檢測評分
注:本網(wǎng)站頁面html檢測工具掃描網(wǎng)站中存在的基本問題,僅供參考。
python包在哪下載
用Python爬蟲一鍵下載下載美劇,美的不要不要的! 公司視頻課程
一直有愛看美劇的習(xí)慣,一方面鍛煉一下英語聽力,一方面打發(fā)一下時間。之前是能在視頻網(wǎng)站上面在線看的,可是自從廣電總局的限制令之后,進口的美劇英劇等貌似就不在像以前一樣同步更新了。但是,作為一個宅diao的我又怎甘心沒劇追呢,所以網(wǎng)上隨便查了一下就找到一個能用迅雷下載的美劇下載網(wǎng)站【天天美劇】,各種資源隨便下載,最近迷上的BBC的高清紀(jì)錄片,大自然美得不要不要的。
雖說找到了資源網(wǎng)站可以下載了,但是每次都要打開瀏覽器,輸入網(wǎng)址,找到該美劇,然后點擊鏈接才能下載。時間長了就覺得過程好繁瑣,而且有時候網(wǎng)站鏈接還會打不開,會有點麻煩。正好一直在學(xué)習(xí)Python爬蟲,所以今天就心血來潮來寫了個爬蟲,抓取該網(wǎng)站上所有美劇鏈接,并保存在文本文檔中,想要哪部劇就直接打開復(fù)制鏈接到迅雷就可以下載啦。
其實一開始打算寫那種發(fā)現(xiàn)一個 url ,使用 requests 打開抓取下載鏈接,從主頁開始爬完全站。但是,好多重復(fù)鏈接,還有其網(wǎng)站的 url 不是我想的那么規(guī)則,寫了半天也沒有寫出我想要的那種發(fā)散式的爬蟲,也許是自己火候還不到吧,繼續(xù)努力。。。
后來發(fā)現(xiàn),其電視劇鏈接都是在文章里面,然后文章url后面有個數(shù)字編號,就像這樣的http://cn163/archives/24016/,所以機智的我又用了之前寫過的爬蟲經(jīng)驗,解決方法就是自動生成url,其后面的數(shù)字不是可以變的嗎,而且每部劇的都是唯一的,所以嘗試了一下大概有多少篇文章,然后用range函數(shù)直接連續(xù)生成數(shù)來構(gòu)造url。
但是很多 url 是不存在的,所以會直接掛掉,別擔(dān)心,我們用的可是 requests ,其自帶的 status_code 就是用來判斷請求返回的狀態(tài)的,所以只要是返回的狀態(tài)碼是404的我們都把它跳過,其他的都進去爬取鏈接,這就解決了 url 的問題了。
以下就是上述步驟的實現(xiàn)代碼。
def get_urls(self): try: for i in range(2015, 25000): base_url = 'http://mitedu/' url = base_url + str(i) + '/' if requests.get(url).status_code == 404: continue else: self.save_links(url) except Exception, e: pass
其余的就進行的很順利了,網(wǎng)上找到前人寫的類似的爬蟲,但是只是爬取一篇文章的,所以借鑒了一下其正則表達式。自己用了 BeautifulSoup 還沒有正則效果好,所以果斷棄了,學(xué)海無涯啊。但是效果也不是那么理想,有一半左右的鏈接不能正確抓取,還需繼續(xù)優(yōu)化。
編程派:下面的代碼中 reload(sys);sys.setdefaultencoding('utf-8') 的做法是不推薦的,容易產(chǎn)生錯誤。
# -*- coding:utf-8 -*-import requestsimport reimport sysimport threadingimport timereload(sys)sys.setdefaultencoding('utf-8')class Archives(object): def save_links(self, url): try: data = requests.get(url, timeout=3) content = data.text link_pat = '"(ed2k://|file|[^"]+?.(Sd+)(Ed+)[^"]+?1024Xd{3}[^"]+?)"' name_pat = repile( r'
(.*?)
', re.S) links = set(re.findall(link_pat, content)) name = re.findall(name_pat, content) links_dict = {} count = len(links) except Exception, e: pass for i in links: links_dict[int(i[1][1:3]) * 100 + int(i[2][1:3])] = i # 把劇集按s和e提取編號 try: with open(name[0].replace('/', ' ') + '.txt', 'w') as f: print name[0] for i in sorted(list(links_dict.keys())): # 按季數(shù)+集數(shù)排序順序?qū)懭?f.write(links_dict[i][0] + '') print "Get links ... ", name[0], count except Exception, e: pass def get_urls(self): try: for i in range(2015, 25000): base_url = 'http://cn163/archives/' url = base_url + str(i) + '/' if requests.get(url).status_code == 404: continue else: self.save_links(url) except Exception, e: pass def main(self): thread1 = threading.Thread(target=self.get_urls()) thread1.start() thread1.join() if __name__ == '__main__': start = time.time() a = Archives() a.main() end = time.time() print end - start完整版代碼,其中還用到了多線程,但是感覺沒什么用,因為 Python 的 GIL 的緣故吧,看似有兩萬多部劇,本以為要很長時間才能抓取完成,但是除去 url 錯誤的和沒匹配到的,總共抓取時間20分鐘不到。搞得我本來還想使用 Redis 在兩臺 Linux 上爬取,但是折騰了一番之后感覺沒必要,所以就這樣吧,后面需要更大數(shù)據(jù)的時候再去弄。
還有過程中遇到一個很折磨我的問題是文件名的保存,必須在此抱怨一下, txt 文本格式的文件名能有空格,但是不能有斜線、反斜線、括號等。就是這個問題,一早上的時間都花在這上面的,一開始我以為是抓取數(shù)據(jù)的錯誤,后面查了半天才發(fā)現(xiàn)是爬取的劇名中帶有斜杠,這可把我坑苦了。
python中解析網(wǎng)站的圖片地址并下載 企業(yè)視頻課程
python之所以那么火爆,很大一部分原因就是因為python可以很隨意地下載網(wǎng)站中的源碼,并解析網(wǎng)站的結(jié)構(gòu),從而獲得自己希望得到的數(shù)據(jù)。今天我們就一起來聊聊如何用python下載網(wǎng)站中的圖片。
首先,你需要解析網(wǎng)頁中的源碼:
然后會得到一個list0列表,這個列表中存儲的都是網(wǎng)頁文件,之后遍歷網(wǎng)頁文件,得到的圖片下載鏈接,直接點擊鏈接就可以下載圖片了.
python django 實現(xiàn)文件下載功能 流量視頻課程
在前面的文章中講述了用python實現(xiàn)文件上傳,操作文件屬性,這篇文章給大家展示django框架下如何實現(xiàn)文件下載。
最簡單的下載方式:
django中最簡單的下載方式
這種方式適合文件小的時候,若文件非常大,就很耗內(nèi)存。
django中的HttpResponse對象是可以將迭代器作為參數(shù)傳遞,因此可以將上面的c替換成迭代器,這樣就防止文件過大時下載失敗的問題。
但在django中,更推薦使用StreamingHttpResponse對象,它將文件以流的形勢發(fā)送給瀏覽器。
查看django框架源碼比較HttpResponse和StreamingHttpResponse:
HttpResponse源碼
streamingHttpResponse源碼
源碼中注釋的很明確,httpResponse是將一個字符串作為內(nèi)容返回。streamingHttpResponse是將內(nèi)容以迭代器的形式返回給客戶端。
因此,修改上面的代碼,將讀取文件寫成迭代器,然后將這個迭代器作為參數(shù)傳給streamingHttpResponse對象:
django實現(xiàn)文件下載功能
大家已經(jīng)看到上面上面多了兩行代碼:
這個是定義文件流的格式類型,response['Content-Type'] = 'application/octet-stream',是二進制流數(shù)據(jù)(常用文件下載)
response['Content-Disposition'] = 'attachment;filename="xxx",是設(shè)置顯示的文件名。
至此,文件下載功能已實現(xiàn)。
擴展思路:
若想限制用戶下載,只允許有權(quán)限的用戶下載,該怎么做呢?
Python3入門——下載安裝Python 3.7.0 營銷視頻課程
學(xué)習(xí)Python第一步:安裝好Python。本文只介紹Windows 10系統(tǒng)下的安裝。
第一步:下載
前往 https://python.org 進行下載
第二步:安裝
雙擊運行下載好的 python-3.7.0.exe 文件
結(jié)束:安裝完成
打開命令行查看是否安裝成功。成功如下:
注意:如果上述第二步中未勾上 “Add Python 3.7 to PATH”,那么命令行提示 “’python’ 不是內(nèi)部或外部命令,也不是可運行的程序或批處理文件?!?/p>
-結(jié)
Python環(huán)境搭建—手把手教你如何安裝Python和Pycharm詳細(xì)教程 推廣視頻課程
人生苦短,我用Python。眾所周知,Python目前越來越火,學(xué)習(xí)Python的小伙伴也越來越多。最近看到群里的小伙伴經(jīng)常碰到不會安裝Python或者不知道去哪下載Python安裝包等系列問題,為了方便大家學(xué)習(xí)Python,小編整理了一套Python和Pycharm安裝詳細(xì)教程,只要大家按照這個步驟來,就可以輕松的搞定Python和Pycharm的安裝了。
Python具有跨平臺性,它幾乎可以在任何平臺下運行,如:Windows/Unix/Linux等操作平臺上。大部分的小伙伴用的是Windows,在此小編就以Windows平臺為例,詳解Python和Pycharm安裝過程。
一、Python安裝過程
工欲善其事,必先利其器。首先我們先來安裝Python,在這里安利一下:其實在沒有安裝Python之前也可以安裝Pycharm的,兩者并沒有什么沖突關(guān)系。但是話說回來,如果沒有Python編譯器,那么Pycharm其實只是個驅(qū)殼,即便你編好程序之后,也并不能運行。舉個栗子,Python相當(dāng)于子彈,Pycharm相當(dāng)于手槍,如果手槍沒有子彈的話,那它就沒有走火的可能性。從邏輯上來講,還是應(yīng)該先安裝Python的,具體流程如下:
1、首先進入Python的官網(wǎng):https://python.org,之后選擇下圖框框內(nèi)的文件進行下載:
當(dāng)然你也可以直接進入網(wǎng)址:https://python.org/downloads/,選擇對應(yīng)的Windows安裝包,進行文件下載即可,如下圖所示:
2、下載Python。其中Python2和Python3版本都可以下載,兩者是兼容的。在這里,小編以Python3版本的安裝為例,下載后如下圖所示:
3、安裝Python。雙擊python-3.6.4.exe文件,之后按照框框內(nèi)的指示進行選擇,記得勾選兩個框框,然后選擇Customize installation進入到下一步:
4、之后進入以下的界面,默認(rèn)即可,直接選擇下一步:
5、之后進入下圖界面,點擊Browse可以進行自定義安裝路徑,千萬要記得自己把它安裝在哪個盤下面,當(dāng)然你也可以直接點擊Install進行默認(rèn)安裝,點擊Install后便可以完成安裝了。本例中,小編把它安裝在C盤,之后點擊Install,稍等片刻之后,便可以實現(xiàn)Python的安裝了。(注意:要記得Python的安裝路徑)
在安裝過程中如果彈出任何提示的話,選擇確定或者允許操作就可以了。
6、安裝完成之后在開始菜單中輸入cmd命令,進入命令行窗口,然后在窗口中輸入python進行驗證。如果出現(xiàn)下面兩張圖的提示,就說明Python安裝成功了。
如果你看到提示符>>>,就表示我們已經(jīng)在Python交互式環(huán)境中了,此時你可以輸入任何Python代碼,回車后會立刻得到執(zhí)行結(jié)果。現(xiàn)在,輸入exit()并回車,就可以退出Python交互式環(huán)境(直接關(guān)掉命令行窗口也可以)。
7、如果出現(xiàn)下圖的提示,則說明安裝失敗了:
出現(xiàn)這個錯誤的原因是因為你在安裝的時候漏掉了勾選Add python.exe to Path這個選項,此時就要手動把剛剛安裝所在的路徑添加到Path中。如果你不知道怎么修改環(huán)境變量,建議把Python安裝程序重新運行一遍,記得勾上Add python.exe to Path這個選項就可以順利安裝了。
接下來我們安裝開發(fā)環(huán)境Pycharm,至于為神馬選擇Pycharm,可以戳這篇文章(企業(yè)級開發(fā)大佬告訴你學(xué)習(xí)Python需要用什么開發(fā)工具)。
二、Pycharm安裝過程
1、首先去Pycharm官網(wǎng),或者直接輸入網(wǎng)址:http://jetbrains/pycharm/download/#section=windows,下載PyCharm安裝包,根據(jù)自己電腦的操作系統(tǒng)進行選擇,對于windows系統(tǒng)選擇下圖的框框所包含的安裝包。
2、選擇Windows系統(tǒng)的專業(yè)版,將其下載到本地,如下圖所示:
3、雙擊下載的安裝包,進行安裝,然后會彈出界面:
4、選擇安裝目錄,Pycharm需要的內(nèi)存較多,建議將其安裝在D盤或者E盤,不建議放在系統(tǒng)盤C盤:
5、點擊Next,進入下圖的界面:
Create Desktop Shortcut創(chuàng)建桌面快捷方式,一個32位,一個64位,小編的電腦是64位系統(tǒng),所以選擇64位。
勾選Create Associations是否關(guān)聯(lián)文件,選擇以后打開.py文件就會用PyCharm打開。
6、點擊Next,進入下圖:
默認(rèn)安裝即可,直接點擊Install。
7、耐心的等待兩分鐘左右,如下圖:
8、之后就會得到下面的安裝完成的界面:
9、點擊Finish,Pycharm安裝完成。接下來對Pycharm進行配置,雙擊運行桌面上的Pycharm圖標(biāo),進入下圖界面:
選擇Do not import settings,之后選擇OK,進入下一步。
10、選擇Accept,進入下一步:
11、進入激活界面,選擇第二個License server,如下圖所示:
之后在License server address中隨意輸入下面兩個注冊碼中的任意一個即可,Pycharm新注冊碼1:http://idea.liyang.io或pycharm新注冊碼2:http://xidea.online,之后點擊OK,便可以激活Pycharm了。
12、Pycharm激活后
13、激活之后會自動跳轉(zhuǎn)到下圖界面,選擇IDE主題與編輯區(qū)主題:
建議選擇Darcula主題,該主題更有利于保護眼睛,而且看上去也非常不錯~~~
14、選擇OK之后進入下圖界面:
選擇Yes即可,更換IDE主題。
15、之后進入下圖界面:
16、點擊Create New Project,進入如下圖的界面:
自定義項目存儲路徑,IDE默認(rèn)會關(guān)聯(lián)Python解釋器。選擇好存儲路徑后,點擊create。
17、IDE提供的提示,直接close即可,不用理會。
18、進入的界面如下圖所示,鼠標(biāo)右擊圖中箭頭指向的地方,然后選擇New,最后選擇python file,在彈出的框中填寫文件名(任意填寫),本例填寫:helloworld。
19、之后得到下圖,然后點擊OK即可:
20、文件創(chuàng)建成功后便進入如下的界面,便可以編寫自己的程序了。
這個界面是Pycharm默認(rèn)的界面,大家完全可以自己去setting中設(shè)置自己喜歡的背景和字體大小、格式等等。
在這里我就不一一贅述了,起碼到這里我相信大家已經(jīng)實現(xiàn)了Pycharm的安裝了。
21、Pycharm中的部分快捷鍵
1、Ctrl + Enter:在下方新建行但不移動光標(biāo);
2、Shift + Enter:在下方新建行并移到新行行首;
3、Ctrl + /:注釋(取消注釋)選擇的行;
4、Ctrl+d:對光標(biāo)所在行的代碼進行復(fù)制。
最后小編祝大家能夠順利的完成Python和Pycharm的安裝,^_
python中解析網(wǎng)站的圖片地址并下載 互聯(lián)網(wǎng)視頻課程
python之所以那么火爆,很大一部分原因就是因為python可以很隨意地下載網(wǎng)站中的源碼,并解析網(wǎng)站的結(jié)構(gòu),從而獲得自己希望得到的數(shù)據(jù)。今天我們就一起來聊聊如何用python下載網(wǎng)站中的圖片。
首先,你需要解析網(wǎng)頁中的源碼:
然后會得到一個list0列表,這個列表中存儲的都是網(wǎng)頁文件,之后遍歷網(wǎng)頁文件,得到的圖片下載鏈接,直接點擊鏈接就可以下載圖片了.