我是 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。推荐的方法是使用 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/