BeautifulSoup4 解析列表出现丢失(已解决)

引言

我在爬取 建筑部企业项目信息的时候出现了数据丢失:以下 施工图审查 中一共有组数据,当我遍历内容的时候发现数据停留在第一条的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)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 专业考题类型管理运行工作负责人一般作业考题内容选项A选项B选项C选项D选项E选项F正确答案 变电单选GYSZ本规程...
    小白兔去钓鱼阅读 10,948评论 0 13
  • 叶影轻微地晃动 你带着些许疲倦的躯体 因着不同方向的灯光 投射出深浅不同的若干影子 再算上那不断念着独白的 路灯的...
    章半沉阅读 406评论 0 3
  • 很快就到了妇产科学习的最后一周了,感悟很多,这一个月里充分扎实的学到了不少专业知识,只有努力学会吃透,才能精益求精...
    庄唯1阅读 406评论 0 0
  • 有大大的梦想,现在世界之巅呼喊,对着全世界用力狂欢,沉沉睡去后还能用力微笑;真想,在一个繁华盛开的季节,信步...
    清晨暮雾阅读 329评论 0 0

友情链接更多精彩内容