2016-03-30 25 views
1

Bir web sitesi kazımak için BeautifulSoup kullanıyorum. Bağlantıyı döndürdüğünde /watch/411012/1/test.html olarak geliyor - nasıl yapabilirim http://website.co.uk/watch/411012/1/test.html dönecek?BeautifulSoup web kazıma

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'] 

cevap

0

Kullanım 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

ben bu tek komut olduğu gibi birden fazla site için yapabileceği nasıl. –

+0

@AlexMcbatman iyi, base_url, - '' http://website.co.uk ''adresine gittiğiniz site olacaktır. Eğer zorluklarla karşılaşırsanız ayrı bir soru oluşturmak mantıklı gelebilir. Teşekkürler. – alecxe