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编程实现希尔排序
Apr 13 Python
Python2/3中urllib库的一些常见用法
Dec 19 Python
python简单贪吃蛇开发
Jan 28 Python
Python3.5基础之NumPy模块的使用图文与实例详解
Apr 24 Python
python绘制双Y轴折线图以及单Y轴双变量柱状图的实例
Jul 08 Python
一行Python代码过滤标点符号等特殊字符
Aug 12 Python
Python列表元素常见操作简单示例
Oct 25 Python
Python求平面内点到直线距离的实现
Jan 19 Python
python中pyplot基础图标函数整理
Nov 10 Python
使用Python画了一棵圣诞树的实例代码
Nov 27 Python
python实现经典排序算法的示例代码
Feb 07 Python
python实现进度条的多种实现
Apr 29 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
《APMServ 5.1.2》使用图解
2006/10/23 PHP
php中 ob_start等函数截取标准输出的方法
2015/06/22 PHP
php中ob函数缓冲机制深入理解
2015/08/03 PHP
PHP简单字符串过滤方法示例
2016/09/04 PHP
PHPCrawl爬虫库实现抓取酷狗歌单的方法示例
2017/12/21 PHP
PHP编程实现的TCP服务端和客户端功能示例
2018/04/13 PHP
jQuery基础框架浅入剖析
2012/12/27 Javascript
jquery cookie的用法总结
2013/11/18 Javascript
基于jquery扩展漂亮的下拉框可以二次修改
2013/11/19 Javascript
jQuery实现购物车计算价格功能的方法
2015/03/25 Javascript
jQuery()方法的第二个参数详解
2015/04/29 Javascript
基于Jquery实现焦点图淡出淡入效果
2015/11/30 Javascript
Angularjs在初始化未完毕时出现闪烁问题的解决方法分析
2016/08/05 Javascript
javascript学习之json入门
2016/12/22 Javascript
微信小程序 简单教程实例详解
2017/01/13 Javascript
微信小程序之蓝牙的链接
2017/09/26 Javascript
layer实现关闭弹出层刷新父界面功能详解
2017/11/15 Javascript
vue导出html、word和pdf的实现代码
2018/07/31 Javascript
layui 数据表格+分页+搜索+checkbox+缓存选中项数据的方法
2019/09/21 Javascript
vue 实现动态路由的方法
2020/07/06 Javascript
[01:38]DOTA2第二届亚洲邀请赛中国区预选赛出线战队晋级之路
2017/01/17 DOTA
python 实现插入排序算法
2012/06/05 Python
Flask数据库迁移简单介绍
2017/10/24 Python
Python实现查找数据库最接近的数据
2020/06/08 Python
pytorch学习教程之自定义数据集
2020/11/10 Python
python 统计list中各个元素出现的次数的几种方法
2021/02/20 Python
CSS3 网页下拉菜单代码解释 中文翻译
2010/02/27 HTML / CSS
师范应届生语文教师求职信
2013/10/29 职场文书
高中生期末评语大全
2014/01/28 职场文书
幼儿园毕业教师感言
2014/02/21 职场文书
2014大四本科生自我鉴定总结
2014/10/04 职场文书
走进科学观后感
2015/06/18 职场文书
2015年学校远程教育工作总结
2015/07/20 职场文书
什么是求职信?求职信应包含哪些内容?
2019/08/14 职场文书
基于Python实现射击小游戏的制作
2022/04/06 Python
win10如何快速切换窗口 win10切换窗口快捷键分享
2022/07/23 数码科技