Python 条件查询
我对靓汤还不熟悉。 我需要从HTML文件中获取数据Python 条件查询,python,python-2.7,beautifulsoup,Python,Python 2.7,Beautifulsoup,我对靓汤还不熟悉。 我需要从HTML文件中获取数据 <div class="ques_ans_block"> <div class="question"> <p>is this correct ?</p> <div> <p class="answer"></p> <div class="moreinfo" style="display: block;">
<div class="ques_ans_block">
<div class="question">
<p>is this correct ?</p>
<div>
<p class="answer"></p>
<div class="moreinfo" style="display: block;">
<p class="answer"> <p>
<p class="answer"></p>
</div>
</div>
这是正确的吗
条件是,可以有“moreinfo”div在场或缺席
所以我需要找到每个问题和答案(包括来自“moreinfo”的答案,如果有的话)的内部文本 这将以json的形式提供输出,其中包含问题、答案和FaqID
import bs4
import json
import codecs
arrayList = []
bsp = bs4.BeautifulSoup(open('input.html'))
ques_ans_block = bsp.find_all("div", {"class": "ques_ans_block"})
s = ""
count = 1
for i in ques_ans_block:
data = {}
q = i.select('.question')
for a in q:
s+=a.text+"\n"
for a in q:
a.extract()
data["Question"] = s
del i['.question']
v = ""
a = i.select('p')
for a in a:
v+=a.text+"\n"
a = i.select('li')
for a in a:
v+=a.text+"\n"
data["Answer"] = v
data["FaqId"] = count
print "\n"
arrayList.append(data)
count = count + 1
s = ""
#print arrayList
with codecs.open('output.json','wt','utf-8') as outfile:
json.dump(arrayList, outfile, indent=4)
要做到这一点,你只需要编写python逻辑。我只知道基本知识,但不知道与之相关的条件。我的回答是否为你提供了如何着手解决问题的提示?是的。Thnx@shravster.你有没有尝试过?你似乎在要求别人为你写所有的代码,而这并不是真正的目的。