Python 3.x 在美丽的汤里找到一条线
我想用数据correct=“1”找到答案。以下是我的原文:Python 3.x 在美丽的汤里找到一条线,python-3.x,beautifulsoup,Python 3.x,Beautifulsoup,我想用数据correct=“1”找到答案。以下是我的原文: <ul class="list-group"> <li class="list-group-item list-ques"><b>1.</b> What the capital of Bangladesh? </li> <li
<ul class="list-group">
<li class="list-group-item list-ques"><b>1.</b> What the capital of Bangladesh?
</li>
<li class="answer" data-qid="1" data-ans="a" data-correct="0" name="ans_4665" class="rd_ques_ans">
a. Chittagong
</li>
<li class="answer" data-qid="1" data-ans="b" data-correct="0" name="ans_4665" class="rd_ques_ans">
b.Khulna
</li>
<li class="answer" data-qid="1" data-ans="c" data-correct="0" name="ans_4665" class="rd_ques_ans">
c.Satkhira
</li>
<li class="answer" data-qid="1" data-correct="1" # name="ans_4665" class="rd_ques_ans">
d.Dhaka
</li>
</ul>
其结果是返回None而不是d.Dhaka
您的答复将不胜感激
快乐编码:)不需要正则表达式。使用css class
answer
和data correct
属性值'1'
搜索所有li
标记更方便:
my_answer=q.find('li',attrs={'class':'answer','data correct':'1'}).text.strip()
我将您的数据作为html,您可以找到li
标记,并在find
中提供额外的attrs
方法来获取文本
html="""<ul class="list-group">
<li class="list-group-item list-ques"><b>1.</b> What the capital of Bangladesh?
</li>
<li class="answer" data-qid="1" data-ans="a" data-correct="0" name="ans_4665" class="rd_ques_ans">
a. Chittagong
</li>
<li class="answer" data-qid="1" data-ans="b" data-correct="0" name="ans_4665" class="rd_ques_ans">
b.Khulna
</li>
<li class="answer" data-qid="1" data-ans="c" data-correct="0" name="ans_4665" class="rd_ques_ans">
c.Satkhira
</li>
<li class="answer" data-qid="1" data-correct="1" # name="ans_4665" class="rd_ques_ans">
d.Dhaka
</li>
</ul>"""
soup= BeautifulSoup(html, 'html.parser')
main=soup.find("ul",class_="list-group")
main.find("li",attrs={"class":"rd_ques_ans","data-correct":"1"}).get_text(strip=True)
非常感谢您的回复。我试图运行您的代码,但出现以下错误:AttributeError:“NoneType”对象没有属性“get_text”。你能告诉我怎么解决这个问题吗?再次提前感谢。哦,li标签中有两个类,它包含
“class”
:“rd\u ques\u ans”
,因此您可以更改这些内容
html="""<ul class="list-group">
<li class="list-group-item list-ques"><b>1.</b> What the capital of Bangladesh?
</li>
<li class="answer" data-qid="1" data-ans="a" data-correct="0" name="ans_4665" class="rd_ques_ans">
a. Chittagong
</li>
<li class="answer" data-qid="1" data-ans="b" data-correct="0" name="ans_4665" class="rd_ques_ans">
b.Khulna
</li>
<li class="answer" data-qid="1" data-ans="c" data-correct="0" name="ans_4665" class="rd_ques_ans">
c.Satkhira
</li>
<li class="answer" data-qid="1" data-correct="1" # name="ans_4665" class="rd_ques_ans">
d.Dhaka
</li>
</ul>"""
soup= BeautifulSoup(html, 'html.parser')
main=soup.find("ul",class_="list-group")
main.find("li",attrs={"class":"rd_ques_ans","data-correct":"1"}).get_text(strip=True)
'd.Dhaka'