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对象才能进行数据提取操作

  • 相关阅读:
    读《高效能人士的七个习惯》有感
    Springboot中的日志
    fastjson JSON.toJavaObject() 实体类首字母大写属性无法解析问题
    java多线程编程实例
    IDEA插件配置推荐
    Spring Boot 自定义数据源 DruidDataSource
    zookeeper环境搭建
    eureka注册中心的使用
    记事本编码
    Chrome浏览器基本操作
  • 原文地址:https://www.cnblogs.com/williamweson/p/13141354.html
Copyright © 2011-2022 走看看