zoukankan      html  css  js  c++  java
  • 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文档

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

  • 相关阅读:
    就着近事儿,谈一谈游戏数值策划的面试
    天天酷跑宠物哪个最好,论表现分中飞行金币占比
    生活中的思维风暴——读《谁是谷歌想要的人才》精彩题目小记(二)
    在路上 ---- 记Time2Play可爱的人儿
    生活中的思维风暴——读《谁是谷歌想要的人才》精彩题目小记(一)
    研究:DotA中攻击施法前摇与后摇的极限研究 ——转自百度有啊
    javascript作用域和闭包之我见
    centOS下安装node4.x
    node.js打开浏览器
    手机响应式wap网页最佳方案
  • 原文地址:https://www.cnblogs.com/oldhuang/p/10332104.html
Copyright © 2011-2022 走看看