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 05 Python
详解Python读取配置文件模块ConfigParser
May 11 Python
Python实现打印螺旋矩阵功能的方法
Nov 21 Python
Python高级特性 切片 迭代解析
Aug 23 Python
Python协程 yield与协程greenlet简单用法示例
Nov 22 Python
Python运行异常管理解决方案
Mar 09 Python
Django模型验证器介绍与源码分析
Sep 08 Python
Pycharm2020最新激活码|永久激活(附最新激活码和插件的详细教程)
Sep 29 Python
python爬虫用scrapy获取影片的实例分析
Nov 23 Python
python实现图像随机裁剪的示例代码
Dec 10 Python
python3定位并识别图片验证码实现自动登录功能
Jan 29 Python
Python常遇到的错误和异常
Nov 02 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
apache+mysql+php+ssl服务器之完全安装攻略
2006/09/05 PHP
php win下Socket方式发邮件类
2009/08/21 PHP
深入PHP中慎用双等于(==)的详解
2013/06/06 PHP
PHP常用设计模式之委托设计模式
2016/02/13 PHP
Yii输入正确验证码却验证失败的解决方法
2017/06/06 PHP
PHP微信开发之微信录音临时转永久存储
2018/01/26 PHP
asp批量修改记录的代码
2008/06/25 Javascript
jQuery Validation实例代码 让验证变得如此容易
2010/10/18 Javascript
关于jquery append() html时的小问题的解决方法
2010/12/16 Javascript
javascript生成随机数的方法
2014/05/16 Javascript
javascript操作数组详解
2014/12/17 Javascript
javascript实现手机震动API代码
2015/08/05 Javascript
跟我学习javascript的闭包
2015/11/16 Javascript
Jquery获取第一个子元素简单实例
2016/06/02 Javascript
让编辑器支持word复制黏贴、截屏的js代码
2016/10/17 Javascript
Nodejs基于LRU算法实现的缓存处理操作示例
2017/03/17 NodeJs
详解vue跨组件通信的几种方法
2017/06/15 Javascript
Intellij IDEA搭建vue-cli项目的方法步骤
2018/10/20 Javascript
微信小程序实现Session功能及无法获取session问题的解决方法
2019/05/07 Javascript
在vue中使用jsx语法的使用方法
2019/09/30 Javascript
解决vue-photo-preview 异步图片放大失效的问题
2020/07/29 Javascript
利用Python查看目录中的文件示例详解
2017/08/28 Python
PyQt5利用QPainter绘制各种图形的实例
2017/10/19 Python
Python pycharm 同时加载多个项目的方法
2019/01/17 Python
Django admin.py 在修改/添加表单界面显示额外字段的方法
2019/08/22 Python
Tensorflow实现将标签变为one-hot形式
2020/05/22 Python
python中adb有什么功能
2020/06/07 Python
查看keras各种网络结构各层的名字方式
2020/06/11 Python
python爬虫要用到的库总结
2020/07/28 Python
英国历史最悠久的DJ设备供应商:DJ Finance、DJ Warehouse、The DJ Shop
2019/09/04 全球购物
美国一站式电动和手动工具商店:International Tool
2020/11/26 全球购物
荣耀商城:HIHONOR
2020/11/03 全球购物
写好自荐信的技巧
2013/11/08 职场文书
《小山羊和小灰兔》教学反思
2014/02/19 职场文书
教师节简报
2015/07/20 职场文书
在 Golang 中实现 Cache::remember 方法详解
2021/03/30 Python