shell读取html网页curl,在Shell脚本中用CURL解析HTML

本文介绍了如何使用Python的BeautifulSoup库高效解析HTML,避免了grep和shell命令的复杂性。通过实例展示了如何抓取网页中的特定信息,并提到了与grep等传统方法相比,BeautifulSoup的易用性和稳定性。同时,提到了HTML解析在实际项目中的应用和可能遇到的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

不要。使用HTML解析器。例如,Python的BeautifulSoup易于使用,并且可以非常轻松地完成此操作。

也就是说,请记住grep适用于行。该模式匹配行,而不是整个字符串。

你可以使用什么是-A赛后还输出线:

grep -A2 -E -m 1 '

'

应该输出:

Diplo - Justin Bieber - Skrillex

Where Are U Now

然后,您可以通过管道得到它的最后或倒数第二行到tail:

$ grep -A2 -E -m 1 '

' | tail -n1

Where Are U Now

$ grep -A2 -E -m 1 '

' | tail -n2 | head -n1

Diplo - Justin Bieber - Skrillex

然后用去掉HTML:

$ grep -A2 -E -m 1 '

' | tail -n1

Where Are U Now

$ grep -A2 -E -m 1 '

' | tail -n2 | head -n1 | sed 's/]*>//g'

Diplo - Justin Bieber - Skrillex

但正如所说,这是善变的,有可能打破,而不是很漂亮。下面是与BeautifulSoup相同,顺便说一句:

html = '''

Blah text

Diplo - Justin Bieber - Skrillex

Where Are U Now

'''

from bs4 import BeautifulSoup

soup = BeautifulSoup(html, 'html.parser')

for track in soup.find_all(class_='tracklistInfo'):

print(track.find_all('p')[0].text)

print(track.find_all('p')[1].text)

这也适用于的tracklistInfo多行 - 补充说,在shell命令需要更多的工作;-)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值