#設定鏈結的路徑
url=""
def downloadpicfromurl(dest_dir,url):
try:
urllib.urlretrieve(url , dest_dir)
except:
print '\terror retrieving the url:', dest_dir
#執行downloadpicfromurl(dest_dir,url)
# -* - coding: utf-8 -* -
#!/usr/bin/python
import os,urllib2,urllib
import re,urllib2
def getpage(url):
opener = urllib2.build_opener()
#不加頭資訊則出現403錯誤和亂碼
opener.addheaders = [('user-agent', 'mozilla/5.0')];
htmlall = opener.open( url ).read()
reg1floor = '(.*?)
' html = re.search(reg1floor,htmlall)
html = html.group()
#檔案儲存編碼和檔案編輯編碼都是utf-8,所以decode一次,不然會出現亂碼,但是不影響結果。
return html.decode('utf-8')
def getimg(url):
pagehtml = getpage(url)
#找到所有位址
3,文摘
利用python抓取和解析網頁(上)
對搜尋引擎、檔案索引、文件轉換、資料檢索、站點備份或遷移等應用程式來說,經常用到對網頁(即html檔案)的解析處理。事實上,通過python語言提供的各種模組,我們無需借助web伺服器或者web瀏覽器就能夠解析和處理html文件。
通過python所帶的urlparse模組,我們能夠輕鬆地把url分解成元件,之後,還能將這些元件重新組裝成乙個url。當我們處理html 文件的時候,這項功能是非常方便的。
import urlparse
#不能執行,只是示例
parsedtuple = urlparse.urlparse("")
unparsedurl = urlparse.urlunparse((urlscheme,urllocation, urlpath, '', '', ''))
newurl = urlparse.urljoin(unparsedurl,"/module-urllib2/request-objects.html")
函式urlparse(urlstring [, default_scheme [, allow_fragments]])的作用是將url分解成不同的組成部分,它從urlstring中取得url,並返回元組 (scheme, netloc, path, parameters, query, fragment)。注意,返回的這個元組非常有用,例如可以用來確定網路協議(http、ftp等等 )、伺服器位址、檔案路徑,等等。
函式urlunparse(tuple)的作用是將url的元件裝配成乙個url,它接收元組(scheme, netloc, path, parameters, query, fragment)後,會重新組成乙個具有正確格式的url,以便供python的其他html解析模組使用。
函式urljoin(base, url [, allow_fragments]) 的作用是拼接url,它以第乙個引數作為其基位址,然後與第二個引數中的相對位址相結合組成乙個絕對url位址。函式urljoin在通過為url基位址附加新的檔名的方式來處理同一位置處的若干檔案的時候格外有用。需要注意的是,如果基位址並非以字元/結尾的話,那麼url基位址最右邊部分就會被這個相對路徑所替換。比如,url的基位址為的相對位址為test.html,那麼兩者將合併成而非如果希望在該路徑中保留末端目錄,應確保url基位址以字元/結尾。
網頁爬蟲小程式
乙個簡單的網頁爬蟲程式 網頁爬蟲 得到網頁上的郵箱位址 得到網頁上的時間戳 public class regexdemo d d d webcrawler url 1,reg 1 得到網頁上的郵箱位址 webcrawler url 2,reg 2 得到網頁上的時間戳 param str param ...
python爬蟲小程式 python爬蟲學習小程式
coding utf 8 name 模組1 purpose author mrwang created 18 04 2014 licence import urllib def main url html urllib.urlopen url print html.read 讀取內容 print h...
Python 網頁爬蟲初試
find find all find name attrs recursive string kwargs find all name attrs recursive string kwargs name 引數可以查詢所有名字為 name 的tag,字串物件會被自動忽略掉.keyword 引數 如果...