簡體   English   中英

BeautifulSoup,請求 - 以下代碼之間有什么區別?

[英]BeautifulSoup, Requests - What is the difference between following code?

只是一些快速的虛擬問題,我剛開始學習 BeautifulSoup 並看到有不同的方法可以做同樣的事情,並且所有方法都可以正常工作。

我很想知道它們之間的區別:

第一:我測試了以下三行具有相同功能的代碼,並且它們以相同的結果成功運行。 問題是有什么區別?

shipping_price = container.find('li', {'class':'price-ship'}).text.strip()
shipping_price = container.find('li', 'price-ship').text.strip()
shipping_price = container.find('li', class_='price-ship').text.strip()

是否有類似以上三行代碼之一來自以前的版本並且很快將失去支持並將被棄用? 上面的代碼是否提供額外的功能? 或者它們完全相同。

第二:這有點不同,它與 BeautifulSoup 無關:

uClient = urlopen(my_url)
page_html = uClient.read()
uClient.close()

反而:

page_html = requests.get(my_url).text

我看到如果我用前者替換后者。 結果之間沒有區別。 因此,有什么區別? 僅僅是在上面的兩個代碼中他們使用不同的模塊來獲取my_url嗎? 或者還有其他區別?

請對這些有所了解,提前致謝。

它在文檔中提到:

在沒有 class_ 快捷方式的舊版本 Beautiful Soup 中,您可以使用上面提到的 attrs 技巧。 創建一個字典,其“class”的值是您要搜索的字符串(或正則表達式或其他)。

這對您在問題的第一部分中尋找的內容有很好的解釋。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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