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 相关文章推荐
使用Python3编写抓取网页和只抓网页图片的脚本
Aug 20 Python
详解Python编程中包的概念与管理
Oct 16 Python
python实现RSA加密(解密)算法
Feb 17 Python
python中使用正则表达式的后向搜索肯定模式(推荐)
Nov 11 Python
python使用tensorflow保存、加载和使用模型的方法
Jan 31 Python
详解Python下ftp上传文件linux服务器
Jun 21 Python
浅谈python3.x pool.map()方法的实质
Jan 16 Python
Django中Middleware中的函数详解
Jul 18 Python
如何基于python生成list的所有的子集
Nov 11 Python
python用TensorFlow做图像识别的实现
Apr 21 Python
python爬虫要用到的库总结
Jul 28 Python
Python抖音快手代码舞(字符舞)的实现方法
Feb 07 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
PHP中如何使用session实现保存用户登录信息
2015/10/20 PHP
PHP文件缓存smarty模板应用实例分析
2016/02/26 PHP
mac下多个php版本快速切换的方法
2016/10/09 PHP
laravel中命名路由的使用方法
2017/02/24 PHP
tp5.1 框架数据库-数据集操作实例分析
2020/05/26 PHP
Jquery练习之表单验证实现代码
2010/12/14 Javascript
JavaScript之HTMLCollection接口代码
2011/04/27 Javascript
jQuery实现动画效果的实例代码
2013/05/07 Javascript
JS+flash实现chrome和ie浏览器下同时可以复制粘贴
2013/09/22 Javascript
js实现动态加载脚本的方法实例汇总
2015/11/02 Javascript
JavaScript核心语法总结(推荐)
2016/06/02 Javascript
js实现表单及时验证功能 用户信息立即验证
2016/09/13 Javascript
微信js-sdk预览图片接口及从拍照或手机相册中选图接口用法示例
2016/10/13 Javascript
vue.js 左侧二级菜单显示与隐藏切换的实例代码
2017/05/23 Javascript
jQuery模拟实现天猫购物车动画效果实例代码
2017/05/25 jQuery
详解angular中的作用域及继承
2017/05/31 Javascript
20行js代码实现的贪吃蛇小游戏
2017/06/20 Javascript
JavaScript实现计数器基础方法
2017/10/10 Javascript
利用npm 安装删除模块的方法
2018/05/15 Javascript
详解搭建一个vue-cli的移动端H5开发模板
2020/01/17 Javascript
JS实现点星星消除小游戏
2020/03/24 Javascript
vue 使用localstorage实现面包屑的操作
2020/11/16 Javascript
Python 匹配任意字符(包括换行符)的正则表达式写法
2009/10/29 Python
一个基于flask的web应用诞生 使用模板引擎和表单插件(2)
2017/04/11 Python
Python实现图片滑动式验证识别方法
2017/11/09 Python
Pytorch自己加载单通道图片用作数据集训练的实例
2020/01/18 Python
Python callable内置函数原理解析
2020/03/05 Python
keras slice layer 层实现方式
2020/06/11 Python
使用AJAX和Django获取数据的方法实例
2020/10/25 Python
详解CSS3中nth-child与nth-of-type的区别
2017/01/05 HTML / CSS
HTML5中的音频和视频媒体播放元素小结
2016/01/29 HTML / CSS
PHP如何设置和取得Cookie值
2015/06/30 面试题
2014年文学毕业生自我鉴定
2014/04/23 职场文书
毕业典礼致辞
2015/07/29 职场文书
信息技术研修心得体会
2016/01/08 职场文书
keepalived + nginx 实现高可用方案
2022/12/24 Servers