簡體   English   中英

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=“ ”>

我正在嘗試使用 beautifulsoup 來查找 HTML 標簽中的內容。 但是當標簽是/ div class=" " /時,就不行了。 雙引號中有空格時不能正確識別。

這是我的代碼:

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)

謝謝你的幫助。

whitespace是 class 名稱列表中的分隔符,因此您找不到它。 只需從您的選擇中刪除whitespace即可獲得結果並查看 output,因為這是解析器識別它的方式。

注意:它會解釋為沒有可用的 class。 因此,您可能必須更改選擇器策略並使用其他屬性或元素 - 問題需要改進/示例以獲得更具體的答案。

例子

from bs4 import BeautifulSoup

html='''
<div>a</div>
<div class>b</div>
<div class="">c</div>
<div class=" ">d</div>
<div class="x ">x</div>
'''

soup = BeautifulSoup(html, 'html.parser')
for k in (soup.find_all('div', class_="")):
    print(k)

Output

<div>a</div>
<div class="">b</div>
<div class="">c</div>
<div class="">d</div>

暫無
暫無

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

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