美文网首页
python爬虫02--BeautifulSoup模块

python爬虫02--BeautifulSoup模块

作者: minisummer | 来源:发表于2020-08-13 13:53 被阅读0次

    哈喽,大家好!我是minisummer!首先感谢您的关注!
    前面我们使用requests模块模拟浏览器发送请求,获取数据。
    接下来我们使用BeautifulSoup模块来解析和提取网页中数据。

    安装BeautifulSoup模块

    pip install BeautifulSoup4
    

    创建BeautifulSoup对象

    bs对象 = BeautifulSoup(‘要解析的文本’,‘解析器’) #第1个参数:必须是字符串;第2个参数:用来标识解析器的,常用Python内置库:html.parser。
    
    

    bs对象的属性、方法和tag对象

    find()
    只提取首个满足要求的数据
    用法:bs对象.find('标签','属性')
    例如:soup.find('div',class_='s_ipt')
    返回数据类型:<class 'bs4.element.Tag'>

    find_all()
    提取出的是所有满足要求的数据
    用法:bs对象.find_all('标签','属性')
    例如:soup.find_all('div',class_='s_ipt')
    返回数据类型:<class 'bs4.element.ResultSet'>
    遍历元素返回数据类型:<class 'bs4.element.Tag'>

    class_:下划线,是为了和python语法中的类 class区分,避免程序冲突。还可以使用其它属性,比如id属性等。
    括号中的参数:标签和属性可以任选其一,也可以两个一起使用。

    tag对象的常用属性和方法

    Tag.find():只提取首个满足要求的数据
    Tag.find_all():提取出的是所有满足要求的数据
    Tag.text:获取标签中的文本值,包含子标签内的文本值也可以取到
    (尖括号中间部分文本值,即科幻小说:<h2><a name="type1">科幻小说</a></h2>)
    tag['属性名']:获取属性值,只能提取该标签本身的
    (tag[‘name’]获取name属性的值,即type1:<h2><a name="type1">科幻小说</a></h2>)

    对象的变化过程

    获取数据
    1.requests.get(url):得到一个response对象,属性有status_code,content,text,encoding
    解析数据
    2.response.text:得到字符串
    3.BeautifulSoup(字符串,‘html.parser’):得到一个BeautifulSoup对象,方法有find()和find_all()
    提取数据
    4.find_all():返回一个list,遍历list提取元素,得到tag对象,属性和方法有Tag.find(),Tag.find_all(),Tag.text,Tag['属性名']
    5.find():得到一个Tag对象,属性和方法有Tag.find(),Tag.find_all(),Tag.text,Tag['属性名']

    请大家多多指教~
    以上内容希望对你有帮助,有被帮助到的朋友欢迎点赞,评论。
    注:转载请注明出处,商用请征得作者本人同意,谢谢!!!

    相关文章

      网友评论

          本文标题:python爬虫02--BeautifulSoup模块

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