python爬虫beautifulsoup解析html方法


Posted in Python onDecember 07, 2020

用BeautifulSoup 解析html和xml字符串

python爬虫beautifulsoup解析html方法

实例:

#!/usr/bin/python
# -*- coding: UTF-8 -*-
from bs4 import BeautifulSoup
import re

#待分析字符串
html_doc = """
<html>
<head>
  <title>The Dormouse's story</title>
</head>
<body>
<p class="title aq">
  <b>
    The Dormouse's story
  </b>
</p>

<p class="story">Once upon a time there were three little sisters; and their names were
  <a href="http://example.com/elsie" rel="external nofollow" class="sister" id="link1">Elsie</a>,
  <a href="http://example.com/lacie" rel="external nofollow" class="sister" id="link2">Lacie</a> 
  and
  <a href="http://example.com/tillie" rel="external nofollow" class="sister" id="link3">Tillie</a>;
  and they lived at the bottom of a well.
</p>

<p class="story">...</p>
"""


# html字符串创建BeautifulSoup对象
soup = BeautifulSoup(html_doc, 'html.parser', from_encoding='utf-8')

#输出第一个 title 标签
print soup.title

#输出第一个 title 标签的标签名称
print soup.title.name

#输出第一个 title 标签的包含内容
print soup.title.string

#输出第一个 title 标签的父标签的标签名称
print soup.title.parent.name

#输出第一个 p 标签
print soup.p

#输出第一个 p 标签的 class 属性内容
print soup.p['class']

#输出第一个 a 标签的 href 属性内容
print soup.a['href']
'''
soup的属性可以被添加,删除或修改. 再说一次, soup的属性操作方法与字典一样
'''
#修改第一个 a 标签的href属性为 http://www.baidu.com/
soup.a['href'] = 'http://www.baidu.com/'

#给第一个 a 标签添加 name 属性
soup.a['name'] = u'百度'

#删除第一个 a 标签的 class 属性为
del soup.a['class']

##输出第一个 p 标签的所有子节点
print soup.p.contents

#输出第一个 a 标签
print soup.a

#输出所有的 a 标签,以列表形式显示
print soup.find_all('a')

#输出第一个 id 属性等于 link3 的 a 标签
print soup.find(id="link3")

#获取所有文字内容
print(soup.get_text())

#输出第一个 a 标签的所有属性信息
print soup.a.attrs


for link in soup.find_all('a'):
  #获取 link 的 href 属性内容
  print(link.get('href'))

#对soup.p的子节点进行循环输出  
for child in soup.p.children:
  print(child)

#正则匹配,名字中带有b的标签
for tag in soup.find_all(re.compile("b")):
  print(tag.name)

爬虫设计思路:

python爬虫beautifulsoup解析html方法

详细手册:

https://www.crummy.com/software/BeautifulSoup/bs4/doc.zh/

到此这篇关于python爬虫beautifulsoup解析html方法 的文章就介绍到这了,更多相关beautifulsoup解析html内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python实现类似ftp传输文件的网络程序示例
Apr 08 Python
Python实现备份文件实例
Sep 16 Python
详解Python pygame安装过程笔记
Jun 05 Python
Python中表达式x += y和x = x+y 的区别详解
Jun 20 Python
python按综合、销量排序抓取100页的淘宝商品列表信息
Feb 24 Python
[原创]Python入门教程5. 字典基本操作【定义、运算、常用函数】
Nov 01 Python
python三方库之requests的快速上手
Mar 04 Python
Django 表单模型选择框如何使用分组
May 16 Python
如何为Python终端提供持久性历史记录
Sep 03 Python
tensorflow之tf.record实现存浮点数数组
Feb 17 Python
python实现图像拼接
Mar 05 Python
详解Python中的for循环
Apr 30 Python
python可视化 matplotlib画图使用colorbar工具自定义颜色
Dec 07 #Python
用ldap作为django后端用户登录验证的实现
Dec 07 #Python
Django中使用Celery的方法步骤
Dec 07 #Python
python集合的新增元素方法整理
Dec 07 #Python
python进行二次方程式计算的实例讲解
Dec 06 #Python
paramiko使用tail实时获取服务器的日志输出详解
Dec 06 #Python
python中二分查找法的实现方法
Dec 06 #Python
You might like
mysql+php分页类(已测)
2008/03/31 PHP
PHP-Java-Bridge使用笔记
2014/09/22 PHP
服务器上配置PHP运行环境教程
2015/02/12 PHP
ThinkPHP中Common/common.php文件常用函数功能分析
2016/05/20 PHP
原生javascript获取元素样式属性值的方法
2010/12/25 Javascript
jQuery Tools tooltip使用说明
2012/07/14 Javascript
基于jquery异步传输json数据格式实例代码
2013/11/23 Javascript
使用AngularJS来实现HTML页面嵌套的方法
2015/06/17 Javascript
创建基于Bootstrap的下拉菜单的DropDownList的JQuery插件
2016/06/02 Javascript
老生常谈 关于JavaScript的类的继承
2016/06/24 Javascript
js实现类bootstrap模态框动画
2017/02/07 Javascript
基于Cookie常用操作以及属性介绍
2017/09/07 Javascript
seajs模块压缩问题与解决方法实例分析
2017/10/10 Javascript
原生nodejs使用websocket代码分享
2018/04/07 NodeJs
node+express框架中连接使用mysql(经验总结)
2018/11/10 Javascript
基于JavaScript实现贪吃蛇游戏
2020/03/16 Javascript
JS事件循环机制event loop宏任务微任务原理解析
2020/08/04 Javascript
基于Python实现一个简单的银行转账操作
2016/03/06 Python
Python处理json字符串转化为字典的简单实现
2016/07/07 Python
Python迭代和迭代器详解
2016/11/10 Python
浅谈使用Python变量时要避免的3个错误
2017/10/30 Python
django query模块
2019/04/20 Python
python+selenium实现简历自动刷新的示例代码
2019/05/20 Python
python numpy--数组的组合和分割实例
2020/02/24 Python
Python实现PS滤镜中的USM锐化效果
2020/12/04 Python
一家专门做特卖的网站:唯品会
2016/10/09 全球购物
eDreams巴西:廉价机票,酒店优惠和度假套餐
2017/04/14 全球购物
.NET笔试题(20个问题)
2016/02/02 面试题
师范生自荐信
2013/10/27 职场文书
生产部岗位职责范文
2014/02/07 职场文书
租房安全协议书
2014/08/20 职场文书
幼儿园食品安全责任书
2015/05/08 职场文书
Python中文纠错的简单实现
2021/07/07 Python
SQL之各种join小结详细讲解
2021/08/04 MySQL
SpringBoot 集成短信和邮件 以阿里云短信服务为例
2022/04/22 Java/Android
python如何为list实现find方法
2022/05/30 Python