在没有正则表达式的情况下抓取HTML,可以使用一些HTML解析库来实现。常见的HTML解析库有BeautifulSoup和lxml等。
BeautifulSoup是一个Python库,可以用来解析HTML和XML文档。它提供了非常直观的API,使得解析HTML文档变得非常简单。BeautifulSoup可以自动处理HTML中的各种标签,并提供了各种方法来提取和操作HTML文档中的数据。
例如,使用BeautifulSoup来提取HTML中的所有链接,可以使用以下代码:
from bs4 import BeautifulSoup
html = """
<html>
<body>
<a href="http://example.com">Example</a>
<a href="http://google.com">Google</a>
</body>
</html>
"""
soup = BeautifulSoup(html, 'html.parser')
links = soup.find_all('a')
for link in links:
print(link.get('href'))
输出:
http://example.com
http://google.com
lxml是一个Python库,可以用来解析XML和HTML文档。它提供了非常强大的API,使得解析HTML文档变得非常简单。lxml可以自动处理HTML中的各种标签,并提供了各种方法来提取和操作HTML文档中的数据。
例如,使用lxml来提取HTML中的所有链接,可以使用以下代码:
from lxml import etree
html = """
<html>
<body>
<a href="http://example.com">Example</a>
<a href="http://google.com">Google</a>
</body>
</html>
"""
root = etree.HTML(html)
links = root.xpath('//a/@href')
for link in links:
print(link)
输出:
http://example.com
http://google.com
总之,使用HTML解析库可以方便地从HTML文档中提取数据,而不需要使用正则表达式。
领取专属 10元无门槛券
手把手带您无忧上云