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