使用BeautifulSoup解析HTML文件
下面是一个使用BeautifulSoup解析HTML文件的示例代码:
from bs4 import BeautifulSoup # 创建一个HTML文件字符串 html_doc = """ <!DOCTYPE html> <html> <head> <title>pidancode.com</title> </head> <body> <h1>皮蛋编程</h1> <p>欢迎来到皮蛋编程网站!<br>我们致力于提供优质的编程教育资源。</p> <ul> <li><a href="https://www.pidancode.com/python">Python教程</a></li> <li><a href="https://www.pidancode.com/java">Java教程</a></li> <li><a href="https://www.pidancode.com/web">Web开发教程</a></li> </ul> </body> </html> """ # 用BeautifulSoup解析HTML文件 soup = BeautifulSoup(html_doc, 'html.parser') # 获取title标签的内容 print(soup.title.string) # 获取h1标签的内容 print(soup.h1.string) # 获取p标签的内容 print(soup.p.string) # 获取ul标签下的所有li标签 for li in soup.ul.find_all('li'): print(li.a.string, li.a['href'])
输出结果为:
pidancode.com 皮蛋编程 欢迎来到皮蛋编程网站! Python教程 https://www.pidancode.com/python Java教程 https://www.pidancode.com/java Web开发教程 https://www.pidancode.com/web
在这个例子中,我们首先定义了一个HTML文件字符串html_doc
,它包含了一个title
标签、一个h1
标签、一个p
标签和一个ul
标签。然后我们使用BeautifulSoup
将这个字符串解析成一个对象soup
。接着,我们使用soup
对象来获取HTML文件中各个标签的内容或属性。
例如,我们可以使用soup.title
来获取title
标签对象,然后使用string
属性来获取标签的文本内容,最终输出了pidancode.com
。同样的,我们也可以使用soup.h1
、soup.p
等来获取其他标签的内容。我们还可以使用find_all
方法来查找HTML文件中的特定标签或属性,例如我们在上面通过soup.ul.find_all('li')
获取了ul
标签下的所有li
标签,并输出了它们的文本内容和href
属性。
通过BeautifulSoup,我们可以很方便地解析HTML文件并从中提取出我们需要的信息。
相关文章