beautifulsoup通过id获取指定元素内容

	<tr style="background-color:#fff;">
					<td colspan="2" align=left valign="top">
						<table id="zoom2"  width="94%" border="0" cellspacing="0" cellpadding="0" style="margin:0 auto">
							<!--startprint-->
							<tr>
								<th scope="col" id="DetailTilte">
									<h1>微博客信息服务管理规定</h1>
								</th>
							</tr>
							<tr>
								<td scope="col" id="DetailContent">

比如有如上一段html代码,想要得到微博客信息服务管理规定这个字符串

发现他有个id="DetailTitle"

于是可以通过beautifulsoup 的 find方法找到他

def get_title(url):
    resp = urllib.request.urlopen(url)
    html = resp.read()
    bs = BeautifulSoup(html, "html.parser")
    title = bs.find('th', id='DetailTilte').h1.get_text()
    return title

定义一个python 的 get_title 方法

bs.find第一个参数表示标签的名字,可以是'a'  ,'p'之类,代码寻找的是a标签或者是p标签

后面跟一个属性,可以是id,可以是name,或者其他的一些属性,我这里填写了id='DetailTitle'

完了之后会得到

<th scope="col" id="DetailTilte">
									<h1>微博客信息服务管理规定</h1>
								</th>

这样一个字符串,我们需要得到这个th标签里面的h1,所以把h1给提出来

bs.find('th', id='DetailTilte').h1

但是这样仍然不够干净,

<h1>微博客信息服务管理规定</h1>

会得到这样一个字符串, 我们不需要得到h1

再对他使用一个get_text方法得到他里面的内容

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值