2016-03-30 52 views
1

我使用BeautifulSoup抓取網站。當它返回鏈接時,它以/watch/411012/1/test.html的形式出現 - 我如何設置它以便返回http://website.co.uk/watch/411012/1/test.htmlBeautifulSoup網頁抓取

from bs4 import BeautifulSoup 
import urllib2 
import re 

resp = urllib2.urlopen("http://website.co.uk") #add more sites 
soup = BeautifulSoup(resp, from_encoding=resp.info().getparam('charset')) 

for link in soup.find_all('a', href=re.compile('sports')): 
    print link['href'] 

回答

0

使用urlparse.urljoin()

from urlparse import urljoin 

base_url = "http://website.co.uk" 
for link in soup.find_all('a', href=re.compile('sports')): 
    print urljoin(base_url, link['href']) 
+0

我怎麼能對多個網站這樣做是在一個腳本。 –

+0

@AlexMcbatman好吧,base_url會是你正在瀏覽的網站 - 「http://website.co.uk」在這種情況下......看看如果你遇到困難時創建一個單獨的問題是否有意義。謝謝。 – alecxe