Beautifulsoup,添加属性信息(资源id)到url
Beautifulsoup, add attribute information (resource id) to url
有一个简单的问题,很抱歉无法从手册中弄清楚。我抓取了一个页面并获得了一个类似于
的属性值
div0 = soup.find('a')
print div0
>> <a href="/first/page"> some info </a>
resource0 = div0['href']
print resource0
>> /first/page
...没有完整的 url。我想在上面的 'resource0' 开头添加 url 然后使用 urlopen 打开它并继续抓取。例如,如果 url 是 https://www.website.com, i want to add the above resource0 onto it to make https://www.website.com/first/page 则可以打开 url.
提前致谢,
维克
定义一个基数 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'
有一个简单的问题,很抱歉无法从手册中弄清楚。我抓取了一个页面并获得了一个类似于
的属性值div0 = soup.find('a')
print div0
>> <a href="/first/page"> some info </a>
resource0 = div0['href']
print resource0
>> /first/page
...没有完整的 url。我想在上面的 'resource0' 开头添加 url 然后使用 urlopen 打开它并继续抓取。例如,如果 url 是 https://www.website.com, i want to add the above resource0 onto it to make https://www.website.com/first/page 则可以打开 url.
提前致谢,
维克
定义一个基数 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'