• python爬虫beautifulsoup


    1、BeautifulSoup库,也叫beautifulsoup4或bs4

      功能:解析HTML/XML文档

    2、HTML格式

      成对尖括号构成

    3、库引用

    #bs4为简写,BeautifulSoup为其中一个类
    from bs4 import BeautifulSoup
    #直接引用库
    import bs4

    3.1、BeautifulSoup类

      >>from bs4 import BeautifulSoup

      >>soup=BeautifulSoup("<html>data</html>","html.parser")

      >>soups=BeautifulSoup(open("D://demo.html"),"html.parser")

      可以直接操作源码,也可以操作文件

      3.1、html.parser为bs4的html解析器,安装了bs4库即可使用

         lxml为lxml的HTML解析器,安装lxml

         xml为lxml的xml解析器,安装lxml

         html5lib为html5lib的解析器,安装html5lib

      3.2、基本元素

        3.2.1、Tag:标签,最基本信息组织单元,分别用<>和</>标明开头和结尾

        3.2.2、Name:标签的名字,<p>...</p>,格式:<tag>.attrs

        3.2.3、Attributes:标签的属性,字典形式的组织,格式<tag>.attrs

        3.2.4、NavigableString:标签内非属性字符串,<>...</>中字符串,格式<tag>.string

        3.2.5、Comment:标签内字符串的注释部分,一种特殊的Comment类型

      3.3、标签遍历

        3.3.1、下行遍历

            .contents:返回列表类型

            .children:返回迭代类型,智能用在for循环语句中

            .descendants:返回迭代类型,智能用在for循环语句中

        3.3.2、上行遍历

            .parent:返回当前节点的父亲节点

            .parents:返回当前节点所有先辈节点

        3.3.3、平行遍历

            .next_sibling

            .previous_sibing

            .next_siblings:迭代类型

            .previous_siblings:迭代类型

    4、html格式输出

      python3.x系列支持的是utf-8编码,bs4库支持utf-8编码,如果使用python2.x需要编码转化  

      >>soup=BeautifulSoup(demo,"html.parser")

      >>print(soup.prettify())

      demo为HTML文档

      打印计较清晰,每个标签,内容分行显示。

  • 相关阅读:
    CopyOnWriteArrayList
    Gradle version 2.2 is required. Current version is 2.10
    install mysql on ubuntu
    A<T extends B> and A <? extends B>
    java event listeners and dispatcher
    git
    linux patch usage
    Codeforces Round #404 (Div. 2) C 二分查找
    dijkstra算法模板及其用法
    Sublime Text 3 快捷键精华版
  • 原文地址:https://www.cnblogs.com/oldhuang/p/10332104.html
Copyright © 2020-2023  润新知