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中使用装饰器时需要注意的一些问题
May 11 Python
Python下载懒人图库JavaScript特效
May 28 Python
Python中max函数用法实例分析
Jul 17 Python
Python3.X 线程中信号量的使用方法示例
Jul 24 Python
python绘制条形图方法代码详解
Dec 19 Python
Python实现读写INI配置文件的方法示例
Jun 09 Python
Tensorflow 合并通道及加载子模型的方法
Jul 26 Python
Python画图实现同一结点多个柱状图的示例
Jul 07 Python
解决python 文本过滤和清理问题
Aug 28 Python
解决python有时候import不了当前的包问题
Aug 28 Python
使用PyInstaller将Pygame库编写的小游戏程序打包为exe文件及出现问题解决方法
Sep 06 Python
Python实现猜年龄游戏代码实例
Mar 25 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
全国FM电台频率大全 - 16 河南省
2020/03/11 无线电
php 5.3.5安装memcache注意事项小结
2011/04/12 PHP
php实现12306火车票余票查询和价格查询(12306火车票查询)
2014/01/14 PHP
PHP7生产环境队列Beanstalkd用法详解
2020/05/19 PHP
禁止F5等快捷键的JS代码
2007/03/06 Javascript
jQuery 前的按键判断代码
2010/03/19 Javascript
一个简单的全屏图片上下打开显示网页效果示例
2014/07/08 Javascript
javascript每日必学之封装
2016/02/23 Javascript
js阻止默认浏览器行为与冒泡行为的实现代码
2016/05/15 Javascript
JavaScript鼠标特效大全
2016/09/13 Javascript
Bootstrap.css与layDate日期选择样式起冲突的解决办法
2017/04/07 Javascript
原生JS实现列表子元素顺序反转的方法分析
2018/07/02 Javascript
JavaScript中filter的用法实例分析
2019/02/27 Javascript
新手入门js闭包学习过程解析
2019/10/08 Javascript
Python实现的生成自我描述脚本分享(很有意思的程序)
2014/07/18 Python
python中使用mysql数据库详细介绍
2015/03/27 Python
Python编程之变量赋值操作实例分析
2017/07/24 Python
Python爬虫实现爬取京东手机页面的图片(实例代码)
2017/11/30 Python
Linux系统(CentOS)下python2.7.10安装
2018/09/26 Python
Python设计模式之适配器模式原理与用法详解
2019/01/15 Python
python程序控制NAO机器人行走
2019/04/29 Python
Django中提供的6种缓存方式详解
2019/08/05 Python
详解python 利用echarts画地图(热力图)(世界地图,省市地图,区县地图)
2019/08/06 Python
python 实现手机自动拨打电话的方法(通话压力测试)
2019/08/08 Python
Python实现二叉树的最小深度的两种方法
2019/09/30 Python
Django框架下静态模板的继承操作示例
2019/11/08 Python
彻底搞懂python 迭代器和生成器
2020/09/07 Python
python 制作网站小说下载器
2021/02/20 Python
华为c/c++笔试题
2016/01/25 面试题
linux面试题参考答案(4)
2014/09/21 面试题
爱情检讨书大全
2014/01/21 职场文书
自荐信怎么写
2015/03/04 职场文书
2016年秋季开学典礼新闻稿
2015/11/25 职场文书
经典法律座右铭(50句)
2019/08/15 职场文书
Linux系统下安装PHP7.3版本
2021/06/26 PHP
python缺失值填充方法示例代码
2022/12/24 Python