使用beautifulsoup写一个python程序来解析一个html页面:
soup_content = BeautifulSoup(u_f_page, "html.parser")
if soup_content.find("li", attrs={"class": "_698"}) == None:
u_f_name = ""
u_f_c_unit = ""
else:
for u_f_c_li in soup_content.find_all("li",attrs={"class":"_698"}):
print(u_f_c_li)
当我检查打印结果(u_f_c_li)时,我找到了所有的
<li class="_698">
...
...
</li>
已获得并成功打印,但是,我发现此页面中的其他内容也已获取并打印出来,请参阅:
<li class="followListItem _1fic _698">
...
...
...
</li>
我只需要
<li class="_698">...</li>
内容,我不需要
<li class="followListItem _1fic _698">....</li>
内容,我想这句话中有错误:
for u_f_c_li in soup_content.find_all("li",attrs={"class":"_698"}):
因为
<li class="followListItem _1fic _698">
还包括&#34; _698&#34;在类名中,所以也可以获取它的内容,但是我不需要它的内容,如何获取class =&#34; _698&#34;,而不是获取class =&#34; followListItem _1fic _698&#34; < / p>
你能帮我解决一下吗
答案 0 :(得分:0)
这段代码有点乱,但它会给你想要的结果。
soup_content = BeautifulSoup(html, "html.parser")
if soup_content.find("li", attrs={"class": "_698"}) is None :
u_f_name = ""
u_f_c_unit = ""
else :
li_list = [ li for li in soup_content.find_all("li", {"class":"_698"}) if all(x == '_698' for x in li.get('class')) ]
for u_f_c_li in li_list :
print(u_f_c_li)