簡體   English   中英

如何從Beautiful Soup獲取URL?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM