python爬取网页后利用BeautifulSoup解析html中的文字内容与图片并且顺序不变
from bs4 import BeautifulSoup
html = """
<div class="ke_content" id="tab0" style="display:block">
<div class="content_body">
<table cellspacing="0" cellpadding="0" style="width:957px;color:#555555;font-family:"font-size:12px;background-color:#FFFFFF;">
<tbody>
<tr>
<td class="t_f" id="postmessage_2038139968" style="font-size:16px;font-family:"">
<span>
<span>功能介绍:span>
<br />
<br />
小天QQ智能营销/群管、
<br />
<br />
发卡系统、养号、定时 群发、转发、
<br />
智能回复 新人入群、
<br />
QQ空间、采集群 加群、
<br />
加好友、拉群、娱乐
<br />
功能太多具体请看图片
<br />
<img id="aimg_7991602" src="https://www.you85.net/data/attachment/forum/202208/15/182105i2jq4hi2eejb8rzq.jpg" class="zoom" width="600" />
<br />
<span>设备需求:span>
<br />
<br />
电脑(需要win10系统)
<br />
<br />
<div align="center">
<img id="aimg_7991602" src="https://www.you85.net/data/attachment/forum/202208/15/182105i2jq4hi2eejb8rzq.jpg" class="zoom" width="600" />
<br />
<img id="aimg_7991603" src="https://www.you85.net/data/attachment/forum/202208/15/182106w00oz0hk0mh00nk1.jpg" class="zoom" width="600" />
<br />
<img id="aimg_7991604" src="https://www.you85.net/data/attachment/forum/202208/15/182107kok50jhg5o3zk015.jpg" class="zoom" width="600" />
div>
<br />
<br />
软件无使用教程,因为功能较多,可能有部分功能缺失不完善,本站不提供一对一指导,如有需求,请自行测试,小白介意勿下单!
span>
td>
tr>
tbody>
table>
div>
div>
"""
soup = BeautifulSoup(html,'lxml')
content_boyd = soup.find(name='div',attrs={'class':'content_body'})
for tag in content_boyd:
print(tag.text)
运行后匹配不到img图片标签,只显示文字。我试了很多匹配字节点或子孙节点方法,要么文字重复,要么图片重复。
我想要达到的结果是下面这样:
把文字都匹配出来并且把图片带着img标签匹配出来,并且文字与img标签图片顺序不变
功能介绍:
小天QQ智能营销/群管、
发卡系统、养号、定时 群发、转发、
智能回复 新人入群、
QQ空间、采集群 加群、
加好友、拉群、娱乐
功能太多具体请看图片
="aimg_7991602" src="https://www.you85.net/data/attachment/forum/202208/15/182105i2jq4hi2eejb8rzq.jpg" class="zoom" width="600" />
设备需求:
电脑(需要win10系统)
="aimg_7991602" src="https://www.you85.net/data/attachment/forum/202208/15/182105i2jq4hi2eejb8rzq.jpg" class="zoom" width="600" />
="aimg_7991603" src="https://www.you85.net/data/attachment/forum/202208/15/182106w00oz0hk0mh00nk1.jpg" class="zoom" width="600" />
="aimg_7991604" src="https://www.you85.net/data/attachment/forum/202208/15/182107kok50jhg5o3zk015.jpg" class="zoom" width="600" />
软件无使用教程,因为功能较多,可能有部分功能缺失不完善,本站不提供一对一指导,如有需求,请自行测试,小白介意勿下单!
单独找文字和单独找图片都没问题,关键是你需要相对位置保持不变,就有难度了。
转成字符串然后通过正则式来操作确实是一个办法。
import re
from bs4 import BeautifulSoup
html = """
<div class="ke_content" id="tab0" style="display:block">
<div class="content_body">
<table cellspacing="0" cellpadding="0" style="width:957px;color:#555555;font-family:"font-size:12px;background-color:#FFFFFF;">
<tbody>
<tr>
<td class="t_f" id="postmessage_2038139968" style="font-size:16px;font-family:"">
<span>
<span>功能介绍:</span>
<br />
<br />
小天QQ智能营销/群管、
<br />
<br />
发卡系统、养号、定时 群发、转发、
<br />
智能回复 新人入群、
<br />
QQ空间、采集群 加群、
<br />
加好友、拉群、娱乐
<br />
功能太多具体请看图片
<br />
<img id="aimg_7991602" src="https://www.you85.net/data/attachment/forum/202208/15/182105i2jq4hi2eejb8rzq.jpg" class="zoom" width="600" />
<br />
<span>设备需求:</span>
<br />
<br />
电脑(需要win10系统)
<br />
<br />
<div align="center">
<img id="aimg_7991602" src="https://www.you85.net/data/attachment/forum/202208/15/182105i2jq4hi2eejb8rzq.jpg" class="zoom" width="600" />
<br />
<img id="aimg_7991603" src="https://www.you85.net/data/attachment/forum/202208/15/182106w00oz0hk0mh00nk1.jpg" class="zoom" width="600" />
<br />
<img id="aimg_7991604" src="https://www.you85.net/data/attachment/forum/202208/15/182107kok50jhg5o3zk015.jpg" class="zoom" width="600" />
</div>
<br />
<br />
软件无使用教程,因为功能较多,可能有部分功能缺失不完善,本站不提供一对一指导,如有需求,请自行测试,小白介意勿下单!
</span>
</td>
</tr>
</tbody>
</table>
</div>
</div>
"""
soup = BeautifulSoup(html, 'lxml')
content_boyd = soup.find(class_="t_f")
res = content_boyd.find_all(text=re.compile("[\u4e00-\u9fa5]"))
for tag in res:
print(tag.replace("\n", "").replace(" ", ""))
有帮助点个采纳