概述
引言
我在爬取 建筑部企业项目信息的时候出现了数据丢失:以下 施工图审查 中一共有3组数据,当我遍历内容的时候发现数据停留在第一条的a标签就没有继续遍历了。
image.png
后来查看F12
image.png
这个数据的中间有时候会出现空格,或者换行,导致后面的td标签无法识别。原因在于选择的解析器没有把文档格式化,换成lxml就可以了。
from bs4 import BeautifulSoup
import lxml
soup = BeautifulSoup(html_doc, 'lxml') # 这里是出现问题的地方,原来我的解析器是'html.parser'
"""施工图审查"""
tab_sgtsc_list = soup.find('div', id='tab_sgtsc').find('table').find('tbody').find_all('tr')
try:
for tab_sgtsc in tab_sgtsc_list:
print('序号', tab_sgtsc.find_all('td')[0].text.strip())
print('施工图审查合格书编号', tab_sgtsc.find_all('td')[1].text.strip())
print('省级施工图审查合格书编号', tab_sgtsc.find_all('td')[2].text.strip())
try:
print('勘察单位名称', tab_sgtsc.find_all('td')[3].find('a').text.strip())
except AttributeError:
print('勘察单位名称', tab_sgtsc.find_all('td')[3].text.strip())
try:
print('设计单位名称', tab_sgtsc.find_all('td')[4].find('a').text.strip())
except AttributeError:
print('设计单位名称', tab_sgtsc.find_all('td')[4].text.strip())
print('施工图审查机构名称', tab_sgtsc.find_all('td')[5].text.strip())
except IndexError:
print('没有施工图审查信息')
print("*" * 50)
最后
以上就是英勇天空为你收集整理的BeautifulSoup4 解析列表出现丢失(已解决)的全部内容,希望文章能够帮你解决BeautifulSoup4 解析列表出现丢失(已解决)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复