2012-06-12 74 views
0

機械化,urllib或beautifulsoup有任何內置的方法來處理網站的絕對和相對URL的混合爬行?機械化,urllib,beautifulsoup和相對路徑

一種解決方法是很多的例外

'http://' + 'www.stackoverflow.com' 
'http://www.stackoverflow.com' + '/questions/ask' 

是否還有更好的選擇嗎?

回答

1

根據記錄,這是我的解決方案:)

domain = re.search('(http:\/\/.*\.\D+?|https:\/\/.*\.\D+?)\/',url.strip()).group(1) 

if re.search('mailto',url.strip()) != None: 
    pass 
elif re.search('(http:\/\/.*\.\D+?|https:\/\/.*\.\D+?)\/',url.strip()) != None: 
    u = url.strip().encode('utf8') 
elif re.search('^/',url.strip()) != None: 
    u = domain+url.strip().encode('utf8') 
else: 
    u = domain+'/'+url.strip().encode('utf8')