1. 程式人生 > >這是一個轉載,關於python的下載 圖片視頻

這是一個轉載,關於python的下載 圖片視頻

python 爬蟲 python2 python3 urllib 資源 下載

目的:再熟悉下python強大的數據處理能力和python2,3的區別

情景:貼吧上的圖片,數據結構龐大的xml,某些國外比較火熱的資源分享平臺,你喜歡的漫畫,想看的電影,只要資源不錯,python‘都可以幫你實現查找,連接下載。

原理:竟然放不了圖片,感覺51CTO這一類的博客,初心是好的,也是慢慢的變成了不好用的東西了,當一個企業成立起來,他的使命就只是掙錢了。可惜了。


原理:你需要分析下目標網站,你需要的網頁地址是?一般都在src="",用正則簡單去匹配一下就可以了。如果有點復雜,那麽就用專業的工具分析下。

Fiddler或者HTTP_WATCH


針對於python的語言,是很多簡單的。這裏有一個入門小測試。轉載的。http://www.cnblogs.com/fnng/p/3576154.html

我也打算轉到cnblogs。


內容:這個小測試主要是三個方面:

1.嘗試去建立http請求,主要是用到urllib的requests的urlopen

import re
import urllib.request

def getHtml(url):
	page = urllib.request.urlopen(url)
	html = page.read()
	#html = html.decode(‘utf-8‘)
	return html

2,嘗試寫個正則來匹配一下src或者你需要的鏈接在哪?

關於正則,我有話要說 ,可以參考經典書籍<AWK&SED>,然後必須用一個正則測試工具,推薦Regex,好像是個小老虎,一時沒找到,在另一個電腦裏。

接著轉載

import re
import urllib

def getHtml(url):
    page = urllib.urlopen(url)
    html = page.read()
    return html

def getImg(html):
    reg = r‘src="(.+?\.jpg)" pic_ext‘
    imgre = re.compile(reg)
    imglist = re.findall(imgre,html)
    return imglist      
   
html = getHtml("http://tieba.baidu.com/p/2460150866")
print getImg(html)

主要是使用到了 r‘正則‘,這裏是有個小問題的,必須要decode一下,也就是html,獲取的界面結果,需要html.decode(‘utf-s‘),將string裝成unicode

解釋:字符串在Python內部的表示是unicode編碼,因此,在做編碼轉換時,通常需要以unicode作為中間編碼,即先將其他編碼的字符串解碼(decode)成unicode


3,還是再建立一個連接,下載第二部的資源,存起來就完了,現在想想,還是雲技術好啊,我們只是搬運工,何必要下載到本地。最後轉載

def getImg(html):
    reg = r‘src="(.+?\.jpg)" pic_ext‘
    imgre = re.compile(reg)
    imglist = re.findall(imgre,html)
    x = 0
    for imgurl in imglist:
        urllib.urlretrieve(imgurl,‘%s.jpg‘ % x)
        x+=1
     return imglist

基本上就結束了。如果對這有興趣的,可以自己去搜著學習一下,這是個工具語言,相當高效好用。

至於他的python環境,不管是window還是linux都是比較容易搞定的。

如果你想著進一步,可以學著用docker去撞他的環境。python與我同歲。

我還是變成原創吧,以上部分代碼來至於大人不華,君子務實。 獨立博客:HTTP://WWW.TESTPUB.CN

(網上有關於各種資源的python,比如tum..b..l...r..)


本文出自 “一站式解決方案” 博客,請務必保留此出處http://10725691.blog.51cto.com/10715691/1941407

這是一個轉載,關於python的下載 圖片視頻