BeautifulSoup网页解析库

from bs4 import BeautifulSoup

0.BeautifulSoup网页解析库包含 的 几个解析器

  • Python标准库【主要,系统自带;】

    使用方法: BeautifulSoup(markup,"html.parser")【注:markup是html文档】
    Python的内置标准库

    案例:


from bs4 import BeautifulSoupsoup = BeautifulSoup.(html,'html.parser')print(soup.title.string)
  • lxmlHTML解析器

    BeautifulSoup(markup,'lxml)
    速度快、需要安装C语言库

  • lxml XML解析器

    使用方法:BeautifulSoup(markup,"xml")
    速度快,唯一支持XML的解析器、需要安装C语言库

  • html5lib

    BeautifulSoup(markup,"html5lib")
    容错性好,以浏览器的形式解析文档,生成html5格式的文档,但是速度慢

1.BeautifulSoup基本使用

#!/usr/bin/env python
# -*- coding:utf-8 -*- html="""<html><head><title>The Domouse's story</title></head><body><p class="title" name="Domouse"><b>The Domouse's story</b></p><p class="story">Once upon a time there were three little sisters;and their names were</p><a href="http://www.baidu.com">百度</a><p class="story">...</p></body></html>"""
from bs4 import BeautifulSoup
soup = BeautifulSoup(html,'lxml')
#获取标签正文内容
print("标签内正文内容:" + soup.title.name)
#获取属性内容
print("属性内容" + soup.p.attrs['name'])
#获取内容
print("获取内容" + soup.p.string)
#获取嵌套内容(多个筛选条件)
print("获取嵌套内容" + soup.head.title.string)
#子节点 和 孙节点【重要,,当目标标签没有id 或 class时候必须用这个】
print("子节点" + soup.p.contents)   #全部子节点,返回的是列表形式
print("子节点" + soup.p.contents[2])   #第三个一级子节点,不管是什么标签
#1. 子节点#子节点【迭代器,只能用循环形式拿到数据】
soup = BeautifulSoup(html,"lxml")
print(soup.p.children)
for i,child in enumerate(soup.p.children):print(i,child)
#2.子孙节点
soup = BeautifulSoup(html,"lxml")
print(soup.p.descendants)
for i,child in enumerate(soup.p.descendants):print(i,child)
#父节点 和 祖先借点
print(list(enumerate("父节点:" + soup.a.parent))) #父节点
print(list(enumerate("祖父节点:" + soup.a.parent))) #祖父点
#获取兄弟节点print("后面的兄弟节点" + list(enumerate(soup.a.next_siblings)))    #后面的兄弟节点
print("前面的兄弟节点" + list(enumerate(soup.a.previous_slblings)))    #前面的兄弟节点

转载于:https://www.cnblogs.com/hellangels333/p/8595477.html

Python_爬虫_BeautifulSoup网页解析库相关推荐

  1. 入坑爬虫之网页解析库pyquery的方法和使用

    最近使用爬虫时,有一段数据中混入了一些无用广告的信息,如下: html=''' <div class="list"> <ul> <li>< ...

  2. python3.6爬虫环境安装要多少内存_Python3爬虫环境配置——解析库安装(附tesserocr安装方法)...

    Python3爬虫环境配置--解析库安装(附tesserocr安装方法) 抓取网页代码后,第二步就是提取信息,为了方便程序设计,这里不采用繁琐的正则提取,利用社区里强大的Python解析库,如lxml ...

  3. python自带网页解析器_Python爬虫Chrome网页解析工具-XPath Helper

    之前就说过Python爬虫中Xpath的用法,相信每一个写爬虫.或者是做网页分析的人,都会因为在定位.获取XPath路径上花费大量的时间,在没有这些辅助工具的日子里,我们只能通过搜索HTML源代码,定 ...

  4. Python_爬虫_网页图片下载_その日の紋

    Python_爬虫_网页图片下载_その日の紋 项目效果 项目需求 项目分析 URL分析 页面分析 项目实施 项目源码 项目效果 项目需求 目标页面:https://www.hanakomon.jp/c ...

  5. 1. 爬虫之Beautifulsoup解析库在线解析图片验证码

    1. 解析库beautifulsoup 1.1 介绍 BeautifulSoup是一个可以从HTML或XML文件中提取数据的Python库. 官方文档: https://www.crummy.com/ ...

  6. python 网页解析库 beautifulsoup4 简介

    HTML 文档本身是结构化的文本,有一定的规则,通过它的结构可以简化信息提取.于是,就有了lxml.pyquery.BeautifulSoup等网页信息提取库.一般我们会用这些库来提取网页信息.其中, ...

  7. python3 beautifulsoup 表格_[Python3爬虫]Beautiful Soup解析库

    解析库与Beautiful Soup 通过request库,我们已经能够抓取网页信息了,但要怎么提取包含在Html代码里面的有效信息呢?谈到匹配有效信息你肯定会想到正则表达式,这里就不讨论了,实际上关 ...

  8. python爬虫(网页解析)

    目录 了解: 参考图 介绍 bs4库: 解析器: 解析方法 代码示例 lxml库: 解析器 解析方法 代码示例 了解: 参考图 (1) html解析器: (2) 解析方式: 介绍 ### 前言:    ...

  9. 小白对python中网页解析库pyquery的理解

    终于又开始写一些基本的东西,借博客来记录一下自己的学习过程 在不断深入研究python爬虫后,学到了越来越多的东西,对于爬虫解析网页的多种方法也有了一定的理解,之前讲过beautifulsoup的一些 ...

最新文章

  1. 19年NAACL纪实:自然语言处理的实用性见解 | CSDN博文精选
  2. 【BZOJ2738】矩阵乘法 [整体二分][树状数组]
  3. discuz!x2.5登录管理面板
  4. 天梯赛 L2-005 集合相似度 (set容器)
  5. SQL老司机,居然是这样智能挖掘异常日志
  6. localstorage本地缓存
  7. jpa 托管_java – jpa非托管实体
  8. java爬虫,提供链接直接爬取网页代码
  9. oracle sql within,Oracle SQL Model Clause
  10. python server酱_教你如何使用Python向手机发送通知(IFTTT)
  11. 什么是服务的熔断降级
  12. python爬取网易云音乐飙升榜音乐,网易云音乐-飙升榜歌曲信息爬取
  13. continue语句只用于循环语句中_Python尚学堂高淇|P60P63break语句,else语句使用,循环代码的优化...
  14. 联想微型计算机2010年,2010年10月自考02277微型计算机原理及应用真题及答案
  15. 一个跑步时用的轨迹记录和计步器APP
  16. ARC101E - Ribbons on Tree 树形DP
  17. d3.js画柱状图超详细教程
  18. 计算机网络-自顶向下(学习笔记)
  19. [项目管理]管理杂谈—三个火枪手
  20. SecureCRT 5.2.2版本下载和注册码

热门文章

  1. go语言和python-新学语言,选GO还是Python
  2. 空冷器投用步骤_石油二厂制氢装置为空冷器“洗澡”【奋进之路】
  3. 一建机电实务教材电子版_这是属于一建人的“五年真题+3年模拟”,实务能考128分全靠它了...
  4. 前端编码规范之JavaScript
  5. 函数的非固定参数,默认参数,参数组
  6. iOS 为自定义返回按钮的页面添加右滑返回
  7. HttpClient简单请求和返回样例
  8. hadoop 2.4 namenode ha 源码分析(HealthMonitor)
  9. 新装WIN7 UPDATE 无法更新
  10. 【数据结构】——构建二叉树,遍历二叉树