Beautiful Soup4库文档学习

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

中文版BeautifulSoup库

作用

  1. 提取HTML和XML文档中的数据
  2. 修改、导航、查找文档

创建html_doc

>>> html_doc = """
... <html><head><title>The Dormouse‘s story</title></head> 
... <body> 
... <p class="title"><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" class="sister" id="link1">Elsie</a>, 
... <a href="http://example.com/lacie" class="sister" id="link2">Lacie</a> and 
... <a href="http://example.com/tillie" class="sister" id="link3">Tillie</a>; 
... and they lived at the bottom of a well.</p> 
...  
... <p class="story">...</p> 
... """

#使用bs4库
>>> from bs4 import BeautifulSoup
>>> soup = BeautifulSoup(html_doc)
>>> print soup.prettify()
<html>
 <head>
  <title>
   The Dormouse‘s story
  </title>
 </head>
 <body>
  <p class="title">
   <b>
    The Dormouse‘s story
   </b>
  </p>
  <p class="story">
   Once upon a time there were three little sisters; and their names were
   <a class="sister" href="http://example.com/elsie" id="link1">
    Elsie
   </a>
   ,
   <a class="sister" href="http://example.com/lacie" id="link2">
    Lacie
   </a>
   and
   <a class="sister" href="http://example.com/tillie" id="link3">
    Tillie
   </a>
   ; 
and they lived at the bottom of a well.
  </p>
  <p class="story">
   ...
  </p>
 </body>
</html>

提取所需的字段
>>> soup.title                                                    #提取标题
<title>The Dormouse‘s story</title>
>>> soup.title.name
‘title‘

>>> soup.title.string                                            #提取标题的内容
u"The Dormouse‘s story"

>>> soup.a                                                        #提取<a>字段信息(第一个<a>)
<a class="sister" href="http://example.com/elsie" id="link1">Elsie</a>

>>> soup.p
<p class="title"><b>The Dormouse‘s story</b></p>
>>> soup.p[‘class‘]
[‘title‘]

查找<a>
>>> soup.find_all(‘a‘)    
[<a class="sister" href="http://example.com/elsie" id="link1">Elsie</a>, <a class="sister" href="http://example.com/lacie" id="link2">Lacie</a>, <a class="sister" href="http://example.com/tillie" id="link3">Tillie</a>]

>>> for link in soup.find_all(‘a‘):
...     print link.get(‘href‘)                        #提取link, href字段
...
http://example.com/elsie
http://example.com/lacie
http://example.com/tillie

时间: 2024-12-25 08:43:39

Beautiful Soup4库文档学习的相关文章

golang标准库文档

Golang标准库文档 https://studygolang.com/pkgdoc go中文官网 https://go-zh.org/doc/ <Go Web 基础>是一套针对 Google 出品的 Go 语言的视频语音教程,主要面向完成 <Go 编程基础>有关 Go Web 开发的学习者. Unknwon/go-web-foundation <Go 编程基础>主要面向新手级别的学习者.Unknwon/go-fundamental-programming <Go

20140602-XML之Schema文档学习笔记

20140602-XML之Schema文档学习笔记 一.Schema约束 几个重要知识: 1.namespace 相当于schema文件的id.Namespace是一个概念,并没有这个属性. 2.targetNamespace属性 注意:这个属性只在schema文档中出现.用来指定schema文档的namespace的值. 3.xmlns属性(非常重要,用于引入一个约束) 引入一个约束,它的值是一个schema文档的targetNamespace值(确切地说,是targetNamespace的属

Spring3.0官网文档学习笔记(五)--3.3

3.3 概述 Table 3.1. The bean definition Property Explained in... class Section 3.3.2, "Instantiating beans" name Section 3.3.1, "Naming beans" scope Section 3.5, "Bean scopes" constructor arguments Section 3.4.1, "Dependen

Spring3.0官网文档学习笔记(六)--3.4.1

3.4 依赖 3.4.1 依赖注入 依赖注入两种方式:基于构造器的DI.基于setter方法的DI. 3.4.1.1 基于构造器的DI 参数是引入对象,且之前不存在父-子类关系: package x.y; public class Foo { public Foo(Bar bar, Baz baz) { // ... } } <beans> <bean id="foo" class="x.y.Foo"> <constructor-arg

Spring3.0官网文档学习笔记(七)--3.4.2

3.4.2 依赖与配置的细节 3.4.2.1  Straight values (primitives, Strings, and so on) JavaBeans PropertyEditors被用来转换这些value到实际的类型.? <bean id="myDataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <

Spring3.0官网文档学习笔记(四)--3.1~3.2.3

3.1 Spring IoC容器与Beans简介 BeanFactory接口提供对任意对象的配置: ApplicationContext是BeanFactory的子接口,整合了Spring Aop功能,消息资源控制,事件发布,应用层特殊的上下文(在web应用中) 由IoC容器实例化.组装.管理的对象都是Bean 3.2 容器概述 org.springframework.context.ApplicationContext代表Spring IoC容器,并且负责通过读取配置元数据来实例化.配置.组装

EasyUI文档学习心得

概述 jQuery EasyUI 是一组基于jQuery 的UI 插件集合,它可以让开发者在几乎完全不需要CSS以及复杂的JS代码情况下完成美观且功能强大的Web界面. 本文主要说明一些如何利用EasyUI文档快速学习的心得.官网文档介绍的比较详细,也可以使用中文文档.各版本中文文档地址: http://download.csdn.net/album/detail/343 为什么说几乎不需要CSS? EasyUI中自带了各个组件的CSS样式,并且有多种主题可选.即使默认提供的几种主题不能满足需要

Spring3.0官网文档学习笔记(八)--3.4.3~3.4.6

3.4.3 使用depends-on 使用depends-on可以强制使一个或多个beans先初始化,之后再对这个bean进行初始化. 多个bean之间用",".";"." "隔开. <bean id="beanOne" class="ExampleBean" depends-on="manager"/> <bean id="manager" cla

Android文档学习02_屏幕分辨率

应当以矢量图的格式来制作原始图片资源,然后根据下面的缩放尺寸生成每一种分辨率的图片: 特高分辨率xhdpi: 2.0 高分辨率hdpi: 1.5 中分辨率mdpi: 1.0 (基准) 低分辨率ldpi: 0.75 低分辨率(ldpi)的资源并不总是必需的.当你提供高分辨率资源时,系统将把它们对半缩放来适配低分辨率设备. 超大屏幕至少960dp x720dp 大屏幕至少640dp x480dp 标准屏幕至少470dp x320dp 小屏幕至少426dp x320dp 维护密度无关系性很重要,因为,