2015-02-10 2 views
1

Быстро вопрос, извините, не мог понять это из руководств. Я царапаю страницу и получаю значение атрибута что-то в строках отBeautifulsoup, добавьте информацию об атрибутах (идентификатор ресурса) в url

div0 = soup.find('a') 

print div0 

>> <a href="/first/page"> some info </a> 

resource0 = div0['href'] 

print resource0 

>> /first/page 

... без полного URL-адреса. Я хочу добавить url в начале «resource0» выше, а затем открыть его с помощью urlopen и продолжить очистку. Так, например, если url равен https://www.website.com, я хочу добавить указанный выше ресурс0 на него, чтобы сделать https://www.website.com/first/page, а затем открыть URL-адрес.

Спасибо заранее,

Vic

+0

'div0 [» href '] = "http: // site" + div0 [' href '] '? – ForceBru

ответ

2

Определить базовый URL и присоединиться к нему с относительным использованием urlparse.urljoin():

from urlparse import urljoin 

base_url = 'https://www.website.com/' 

div0 = soup.find('a') 
resource0 = urljoin(base_url, div0['href']) 

Демо:

>>> from urlparse import urljoin 
>>> base_url = 'https://www.website.com/' 
>>> urljoin(base_url, '/first/page') 
'https://www.website.com/first/page' 
+0

Спасибо, это сработало отлично! – TopGangMember

Смежные вопросы