美文网首页
网络爬虫入门 (二) BeautifulSoup4的简单使用

网络爬虫入门 (二) BeautifulSoup4的简单使用

作者: 闻榴莲的猫 | 来源:发表于2018-07-16 20:35 被阅读0次

一、简介

BeautifulSoup是一款用Python编写的解析网页的模块,使用起来非常方便,下面介绍一下BeautifulSoup4。

二、bs4的使用

笔者使用的是Anaconda集成的Python环境,使用conda list查看已安装模块里是否有beautifulsoup4


查看beautifulsoup是否安装

这里Anaconda集成的环境已经有了该模块,可以直接进行下一步

1. 导入模块
from bs4 import BeautifulSoup as bs

注意这里的模块名叫bs4,而不是全称(后面简称bs)

2. 定义一个变量存一段简单的html
html = """
<!DOCTYPE html>
<html lang="zh-CN">
    <head>
        <title>html标签简介</title>
        <meta charset="utf-8" />
    </head>
    <body>
        <div class="mydiv">
            <h1>网页标题</h1>
        </div>
        <div id="div2">
            <h2 class="second">子标题</h2>
        </div>
    </body>
</html>
"""

现在要取其中的页面标题,首先需要创建bs对象读取html

soup = bs(html)#创建对象
print(soup.prettify())#格式化输出内容
3.筛选标签元素
lab_title = soup.find("title")
print(lab_title)
divs = soup.find("div")#获取第一个div标签
divs = soup.find_all("div")#获取所有div标签,返回一个可迭代对象
print(divs)

也可使用css的语法格式进行筛选:

print(soup.select("div"))#根据标签筛选
print(soup.select(".mydiv"))#根据class筛选
print(soup.select("#div2"))#根据id筛选
print(soup.select("[class='second']"))#根据属性进行筛选,属性class为值second的标签
print(soup.select("div > h2"))#筛选div下的h2标签

此种方式返回的是全部符合要求的标签

三、总结

以上就是BeautifulSoup4的简单使用,它还有更多实用的功能,详见官方文档:
https://www.crummy.com/software/BeautifulSoup/bs4/doc.zh

相关文章

网友评论

      本文标题:网络爬虫入门 (二) BeautifulSoup4的简单使用

      本文链接:https://www.haomeiwen.com/subject/ngxipftx.html