[英]Use BeautifulSoup to find partial text in a H tag inside a DIV class
[英]BeautifulSoup find a div tag by the text inside
我有這個HTML格式
<tr>
<th>
<div>USING THIS TEXT</div>
</th>
<td>
<div class="plainlist">
<ul>
<li>
"GET THIS TEXT HERE"
<span>
" ("
<span class="bday"> "AND GET THIS TEXT HERE"
")"
</span>
</li>
</ul>
</div>
</td>
</tr>
我已經弄清楚了如何使用find和id訪問無序列表,但是不確定當我想要的div沒有id而是只有我可以使用的文本時該怎么做。
如果有一個id,那么python代碼將是
test = soup.find(id="[SOME_ID]")
if test is not None:
ul = cast.find_next('ul')
for li in ul.findAll('li'):
if(li is not None):
print(li.text)
但是我不確定如何只知道div內的文本而不是id來獲得“測試”值。
謝謝你的幫助。
您必須導入re模塊才能通過文本查找標簽。嘗試讓我知道是否可行。
import bs4
import re
html_doc="""<html><tr>
<th>
<div>USING THIS TEXT</div>
</th>
<td>
<div class="plainlist">
<ul>
<li>
"GET THIS TEXT HERE"
<span>
" ("
<span class="bday"> "AND GET THIS TEXT HERE"
")"
</span>
</li>
</ul>
</div>
</td>
</tr></html>"""
soup = bs4.BeautifulSoup(html_doc, 'html.parser')
test=soup.find('div' , text=re.compile("USING THIS TEXT"))
if test is not None:
ul = test.find_next('ul')
for li in ul.findAll('li'):
if(li is not None):
print(li.text)
輸出:
"GET THIS TEXT HERE"
" ("
"AND GET THIS TEXT HERE"
")"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.