bs4解析html文件记录

from bs4 import BeautifulSoup

with open('html.txt', 'r', encoding='utf8') as f:
	htmlfile = f.read()
soup = BeautifulSoup(htmlfile, 'lxml')
article_titles = soup.findAll('p', {'class':'article-list-item-txt'})
article_links = soup.findAll('div', {'class':'item-info-oper'})
ats = []
for at in article_titles:
	atstr = at.a.get_text()
	ats.append(atstr)
als = []
for al in article_links:
	for l in al.children:
		if l.name == 'a' and l.attrs['href'] != 'javascript:void(0);':
			alstr = l.attrs['href']
			als.append(alstr)
assert len(ats) == len(als)
for at, al in zip(ats, als):
	with open('lala.md', 'a', encoding='utf8') as f:
		f.write('[%s](%s)\n'%(at, al))

以上程序分析以下html文件:

<div class="article-list-item-mp"><div class="list-item-title"><!----><span class="article-list-item-tag">置顶</span><p class="article-list-item-txt "><!----><a href="/console/editor/html/104424751" class="" title="编辑">如果你重装了服务器的centos系统</a></p></div><div class="article-list-item-info"><div class="item-info-left"><span> 原创 </span><span>2020年02月21日 11:33:06</span><span class="article-list-item-readComment"><img src="https://csdnimg.cn/release/mp/img/read.png" title="阅读数" alt="" class="icon"> 20 </span><span class="article-list-item-readComment"><img src="https://csdnimg.cn/release/mp/img/comment.png" title="评论" alt="" class="icon"> 0 </span></div><div class="item-info-oper"><!----><a href="javascript:void(0);"><span class="useCard item-info-oper-text"> 使用推荐卡 </span></a><a href="https://blog.csdn.net/z1314520cz/article/details/104424751" target="_blank"><span class="item-info-oper-text">查看</span></a><div class="item-info-discuss"><div class="el-select"><!----><div class="el-input el-input--suffix"><!----><input type="text" readonly="readonly" autocomplete="off" placeholder="请选择" class="el-input__inner"><!----><span class="el-input__suffix"><span class="el-input__suffix-inner"><i class="el-select__caret el-input__icon el-icon-arrow-up"></i><!----><!----><!----><!----><!----></span><!----></span><!----><!----></div><div class="el-select-dropdown el-popper" style="display: none; min-width: 90px;"><div class="el-scrollbar" style=""><div class="el-select-dropdown__wrap el-scrollbar__wrap" style="margin-bottom: -23px; margin-right: -23px;"><ul class="el-scrollbar__view el-select-dropdown__list"><!----><li class="el-select-dropdown__item selected"><span> 评论公开</span></li><li class="el-select-dropdown__item"><span>审核后公开</span></li></ul></div><div class="el-scrollbar__bar is-horizontal"><div class="el-scrollbar__thumb" style="transform: translateX(0%);"></div></div><div class="el-scrollbar__bar is-vertical"><div class="el-scrollbar__thumb" style="transform: translateY(0%);"></div></div></div><!----></div></div></div><a href="javascript:void(0);"><span class="setTop item-info-oper-text">取消置顶</span></a><div class="item-info-inline"><a href="javascript:void(0);" class="item-right-border"><span class="del item-info-oper-text">删除</span></a></div></div></div></div>

使用BeautifulSoup对象解析html文件,找到有特征的节点获取节点信息。有以下几点注意:

1.单节点下可通过标签名访问下一节点。2.访问子节点用属性children。3.节点属性name就是标签名,attrs就是属性字典。

参考链接:

python 爬虫(一)Beautifulsoup 和 父标签、子标签、兄标签

BeautifulSoup常用操作

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值