zoukankan      html  css  js  c++  java
  • python爬虫数据提取之bs4的使用方法

    Beautiful Soup的使用

    1.下载

    pip install bs4 
    pip install lxml # 解析器 官方推荐
    

    2.引用方法

    from bs4 import BeautifulSoup # 引入我们的主题
    

    3.解析原理

    • 实例化一个BeautifulSoup的对象,并且将即将被解析的页面源码数据加载到该对象中
    • 调用BeautifulSoup对象中的相关属性和方法进行标签定位和数据提取

    4.使用方法

    将一段文档传入BeautifulSoup 的构造方法,就能得到一个文档的对象, 可以传入一段字符串或一个文件句柄

    soup = BeautifulSoup(open("index.html"),'lxml') # 文件句柄
    
    soup = BeautifulSoup("<html>data</html>",'lxml') # 网页源数据
    
    • tag

      纯标签定位

      soup.tagName:定位到第一个TagName标签,返回的是单数
      

      属性定位

      属性定位:soup.find('tagName',attrName='value'),返回也是单数(第一个元素)
      find_all:和find用法一致,但是返回值是列表
      注:attrname中查询class字段为class_,id为id
      
    • selector

      返回值为列表

      选择器定位:select('选择器')
      返回值类型为bs4.element.ResultSet
      标签,类,id,层级(>:一个层级,空格:多个层级)
      
    • 提取数据

      • 取文本
        • tag.string:标签中直系的文本内容
        • tag.text:标签中所有的文本内容
      • 取属性
        • tag['attrName']

    5.注意事项

    只有bs4.element.Tag对象才拥有上述的方法和属性,select返回的对象集合是不具有该属性和方法,通过索引拿到对应的Tag对象才能进行数据提取操作

  • 相关阅读:
    uoj110
    11.28模拟赛D题解
    AT1219 歴史の研究
    P5906 【模板】回滚莫队&不删除莫队
    P4175 [CTSC2008]网络管理
    SP32952 ADAFTBLL
    CF1479D Odd Mineral Resource
    SP10707 COT2
    P4074 [WC2013] 糖果公园
    P6134 [JSOI2015]最小表示
  • 原文地址:https://www.cnblogs.com/williamweson/p/13141354.html
Copyright © 2011-2022 走看看