我是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>

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

最佳答案

给定基本/当前url以及来自href值的相对URL,您需要产生一个绝对URL。一个推荐的方法是使用 urlparse.urljoin() :

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

absolute_url = urljoin(url, href)

关于javascript - 如何从Beautiful Soup获取URL?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36988287/

10-09 07:46