1、首先調用urllib2庫的URLopen的方法,傳入一個URL,urlopen一般接受三個參數,它的參數如下
#coding=utf-8
import os
import urllib
import httplib2
import webbrowser as web
#爬取線上網站
url = "http://www.baidu.com/"
content = urllib.urlopen(url).read()
open("baidu.html","w").write(content)
#浏覽求打開網站
web.open_new_tab("baidu.html")
2、第一個參數url即為URL,第二個參數data是通路URL時要傳送的資料,第三個timeout是設定逾時時間。
第二三個參數是可以不傳送的,data預設為空None,timeout預設為 socket._GLOBAL_DEFAULT_TIMEOUT。
第一個參數URL是必須要傳送的,在這個例子裡面我們傳送了百度的URL,執行urlopen方法之後,傳回一個response對象,傳回資訊便儲存在這裡面。
response = urllib2.urlopen("http://www.baidu.com")
print response.read()
3、 *然後是需要下載下傳圖檔,這裡需要學會找到圖檔的URL,如下圖百度的LOGO,可以通過浏覽器右鍵”審查元素”或”檢查”來進行定位

定位URL後,再通過函數urlretrieve()進 #coding = utf-8
import os
import urllib
import httplib2
import webbrowser as web
爬取線上網站
url = “http://www.baidu.com/”
content = urllib.urlopen(url).read()
open(“baidu.html”,”w”).write(content)
#浏覽求打開網站
web.open_new_tab(“baidu.html”)
#下載下傳圖檔 審查元素
pic_url = “https://www.baidu.com/img/bd_logo1.png”
pic_name = os.path.basename(pic_url) #删除路徑擷取圖檔名字
urllib.urlretrieve(pic_url, pic_name)
#本地檔案
content = urllib.urlopen(“first.html”).read()
print content
#下載下傳圖檔 審查元素
pic_url = “imgs/bga1.jpg”
pic_name = os.path.basename(pic_url) #删除路徑擷取圖檔名字
urllib.urlretrieve(pic_url, pic_name) **重點知識:
urllib.urlopen(url[, data[, proxies]]) :建立一個表示遠端url的類檔案對象,然後像本地檔案一樣操作這個類檔案對象來擷取遠端資料。
urlretrieve方法直接将遠端資料下載下傳到本地。
如果需要顯示進度條,則使用下面這段代碼:**
urllib.urlopen(url[, data[, proxies]]) :建立一個表示遠端url的類檔案對象,然後像本地檔案一樣操作這個類檔案對象來擷取遠端資料。
urlretrieve方法直接将遠端資料下載下傳到本地。
如果需要顯示進度條,則使用下面這段代碼:
import urllib
def callbackfunc(blocknum, blocksize, totalsize):
'''''回調函數
@blocknum: 已經下載下傳的資料塊
@blocksize: 資料塊的大小
@totalsize: 遠端檔案的大小
'''
percent = * blocknum * blocksize / totalsize
if percent > :
percent =
print "%.2f%%"% percent
url = 'http://www.sina.com.cn'
local = 'd:\\sina.html'
urllib.urlretrieve(url, local, callbackfunc)