標籤:python 爬蟲
Python簡單的爬蟲最簡單的爬蟲
# -*- coding : utf-8 -*-import urlliburl = ‘http://www.baidu.com‘html = urllib.urlopen(url)print html.read()
也可以列印出網頁的其他資訊
#擷取狀態代碼print html.getcode()#擷取傳入的參數print html.geturl()#擷取網頁的head資訊print html.info()
編碼問題
# -*- coding : utf-8 -*-import urlliburl = ‘http://www.163.com/‘html = urllib.urlopen(url)#轉換成我們想要的編碼print html.read().decode(‘gbk‘).encode(‘utf-8‘)# 如果編碼不統一,一個網頁包含多個編碼,可能會有一些字元無法正常被轉換,可能報錯# 可以使用一下方法print html.read().decode(‘gbk‘,‘ignore‘).encode(‘utf-8‘)
帶進度條的爬蟲
# -*- coding : utf-8 -*-‘‘‘帶進度條的爬蟲‘‘‘import urllib‘‘‘ 顯示下載進度,可以是檔案或者網頁 參數說明 1)網址 2)本地的網頁儲存路徑+檔案名稱 3) 一個函數調用,這個函數 必須要有三個參數 1.到目前為止傳遞的資料區塊數量 2.每個資料區塊的大小,單位是byte,位元組 3.遠程檔案的大小‘‘‘def callback(receivedData,weight,dataSize): ‘‘‘ receivedData 已經接收的檔案的大小 weight 每個檔案 的大小 dataSize 目標檔案的大小 ‘‘‘ downloadProcess = 100.0 * receivedData * weight / dataSize if downloadProcess > 100: downloadProcess = 100 print ‘%.2f%%‘ % downloadProcess url = ‘http://www.163.com‘local = ‘D:\\pythonfile\\html.html‘urllib.urlretrieve(url,local,callback)
著作權聲明:本文為博主原創文章,未經博主允許不得轉載。
Python簡單的爬蟲