如何从Beautiful Soup获取URL?

HAO*_*HEN 3 html javascript python beautifulsoup html-parsing

我是Python的新手,试图编写一个爬行程序; 我想使用Beautiful Soup从BBC新闻中抓取一些数据.

但是当我使用Firebug检查元素时,我发现此页面中的HTML没有URL链接.

<li class="">
<a class="navigation-wide-list__link navigation-arrow--open" data-panel-id="js-navigation-panel-World" href="/news/world">
    <span>World</span>
</a>
Run Code Online (Sandbox Code Playgroud)

href = '/news/world',它没有显示真正的URL链接.如果我想抓取此网页中的所有链接,该怎么办?这是因为该网站使用的是Javascript吗?

ale*_*cxe 5

给定基本/当前URL以及来自该值的相对值,您需要生成绝对URLhref.建议的方法是使用urlparse.urljoin():

from urlparse import urljoin  # on Python 3: from urllib.parse import urljoin

absolute_url = urljoin(url, href)
Run Code Online (Sandbox Code Playgroud)