Beautifulsoup,将属性信息(资源ID)添加到url

时间:2015-02-10 16:36:16

标签: python beautifulsoup

快速提问,抱歉无法从手册中弄清楚。我刮了一页并获得了属于

的属性值
div0 = soup.find('a')

print div0

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

resource0 = div0['href']

print resource0

>>  /first/page

...没有完整的网址。我想在&#39; resource0&#39;的开头添加网址。上面然后使用urlopen打开它并继续刮擦。例如,如果网址为https://www.website.com,我想在其上添加上述资源0以生成https://www.website.com/first/page,然后才能打开网址。

提前致谢,

维克

1 个答案:

答案 0 :(得分:2)

定义基本网址,并使用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'