簡體   English   中英

beautifulsoup find_all()類快捷方式不起作用

[英]beautifulsoup find_all() class shortcut doesn't work

我正在嘗試使用class column查找所有p標簽。

<p class="column">This is a column</p>
<p class="column">More columns heh</p>

我試着做:

soup.find_all(class_='column')

返回了[]

然后我嘗試了:

soup.find_all(attrs={'class': 'column'})

並得到正確的結果。

這兩個陳述不應該相同嗎? 有什么不同?

(這是我對堆棧溢出的第一個答案,所以我有點緊張!)

正如其他人所說,這兩個完全相同。 唯一的問題是您正在使用舊版本的Beautiful Soup。 因為它說這里

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

希望能有所幫助!

該聲明是完全相同的,我無法重現您的問題:

>>> from bs4 import BeautifulSoup
>>> soup = BeautifulSoup('''<div>
... <p class="column">This is a column</p>
... <p class="column">More columns heh</p>
... </div>''')
>>> soup.find_all(class_='column')
[<p class="column">This is a column</p>, <p class="column">More columns heh</p>]
>>> import bs4
>>> bs4.__version__
'4.1.3'

請注意, class_參數是在版本4.1.2中引入的,因此請確保您使用的是BeautifulSoup的最新版本。 在“ 按CSS類搜索”部分中

從Beautiful Soup 4.1.2開始,您可以使用關鍵字參數class_通過CSS類進行搜索:

>>> from bs4 import BeautifulSoup as BS
>>> soup = BS('''<p class="column">This is a column</p>
<p class="column">More columns heh</p>''')
>>> list1 = soup.find_all(class_='column')
>>> list2 = soup.find_all(attrs={'class': 'column'})
>>> list1 == list2
True

沒有區別 我不確定為什么它對您不起作用。 也許您的BeautifulSoup模塊已經過時了? 我也無法重現您的問題。

我的保存情況就像您的帖子一樣,我發現我的CentOS python版本是2.6.6,而BeautifulSoup 4.1.0他們在幫助文檔中說:

“本文檔中的示例在Python 2.7和Python 3.2中應以相同的方式工作。”

因此,根據此鏈接,我將python 2.6升級到2.7:

http://toomuchdata.com/2014/02/16/how-to-install-python-on-centos/

升級完成后,湯變得很美。

Python beautifulsoup find_all 找不到<div class="“" ”></div><div id="text_translate"><p>我正在嘗試使用 beautifulsoup 來查找 HTML 標簽中的內容。 但是當標簽是/ <strong>div class=" "</strong> /時,就不行了。 雙引號中有<strong>空格</strong>時不能正確識別。</p><p> 這是我的代碼:</p><pre> from bs4 import BeautifulSoup if __name__ == "__main__": soup = BeautifulSoup(open("1946.html", encoding='utf-8'), 'lxml') for k in (soup.find_all('div', class_=" ")): print(k)</pre><p> 謝謝你的幫助。</p></div>

[英]Python beautifulsoup find_all can‘t find <div class=“ ”>

暫無
暫無

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

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