![](/img/trans.png)
[英]How to get the result of a javascript function from a python code using Beautiful Soup?
[英]How to get a URL from Beautiful Soup?
我是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)
回答你的最后一個小問題:
href
是/news/world
的價值並不奇怪。 這是一個相對引用 ,它在URI語法RFC的內容中指定。 Javascript不需要處理它們,自遠古以來它們一直受到瀏覽器的支持,鏈接到相對於當前文檔或相對於主機的文檔。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.