厚积簿发 發表於 2019-5-17 15:03:00

Python之Html解析方法

<p class="cjk" style="margin-bottom: 0; line-height: 150%" align="left"><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑, serif"><span style="font-size: large"><br></span></span></span></span><span style="font-family: 文泉驿点阵正黑"><span style="font-size: large">一、强大的</span></span><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑, serif"><span style="font-size: large">BeautifulSoup</span></span></span></span><span style="font-family: 文泉驿点阵正黑"><span style="font-size: large">:</span></span><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑, serif"><span style="font-size: medium">BeautifulSoup</span></span></span></span><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">是一个可以从</span></span><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑, serif"><span style="font-size: medium">html</span></span></span></span><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">或</span></span><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑, serif"><span style="font-size: medium">xml</span></span></span></span><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">文件中提取数据的</span></span><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑, serif"><span style="font-size: medium">Python</span></span></span></span><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">库。它能够通过你喜欢的转换器实现惯用的文档导航、查找、修改文档的方式。在</span></span><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑, serif"><span style="font-size: medium">Python</span></span></span></span><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">开发中,主要用的是</span></span><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑, serif"><span style="font-size: medium">BeautifulSoup</span></span></span></span><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">的查找提取功能,修改功能很少使用</span></span></p>
<p class="cjk" style="margin-bottom: 0; line-height: 150%" align="left"><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑, serif"><span style="font-size: medium">1</span></span></span></span><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">、安装</span></span><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑, serif"><span style="font-size: medium">BeautifulSoup</span></span></span></span></p>
<p class="cjk" style="margin-bottom: 0; line-height: 150%" align="left"><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑, serif"><span style="font-size: medium">pip3 install beautifulsoup4</span></span></span></span></p>
<p class="cjk" style="margin-bottom: 0; line-height: 150%" align="left"><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑, serif"><span style="font-size: medium">2</span></span></span></span><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">、安装第三方</span></span><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑, serif"><span style="font-size: medium">html</span></span></span></span><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">解析器</span></span><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑, serif"><span style="font-size: medium">lxml</span></span></span></span></p>
<p class="cjk" style="margin-bottom: 0; line-height: 150%" align="left"><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑, serif"><span style="font-size: medium">pip3 install lxml</span></span></span></span></p>
<p class="cjk" style="margin-bottom: 0; line-height: 150%" align="left"><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑, serif"><span style="font-size: medium">3</span></span></span></span><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">、安装纯</span></span><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑, serif"><span style="font-size: medium">Python</span></span></span></span><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">实现的</span></span><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑, serif"><span style="font-size: medium">html5lib</span></span></span></span><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">解析器</span></span></p>
<p class="cjk" style="margin-bottom: 0; line-height: 150%" align="left"><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑, serif"><span style="font-size: medium">pip3 install html5lib</span></span></span></span></p>
<p class="cjk" style="margin-bottom: 0; line-height: 150%" align="left"> <br>

</p>
<p class="cjk" style="margin-bottom: 0; line-height: 150%" align="left">
<span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">二、</span></span><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑, serif"><span style="font-size: large">BeautifulSoup</span></span></span></span><span style="font-family: 文泉驿点阵正黑"><span style="font-size: large">的使用:</span></span></p>
<p class="cjk" style="margin-bottom: 0; line-height: 150%" align="left">
   <span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑, serif"><span style="font-size: large">1</span></span></span></span><span style="font-family: 文泉驿点阵正黑"><span style="font-size: large">、导入</span></span><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑, serif"><span style="font-size: large">bs4</span></span></span></span><span style="font-family: 文泉驿点阵正黑"><span style="font-size: large">库</span></span></p>
<p class="cjk" style="margin-bottom: 0; line-height: 150%" align="left">
       <span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑, serif"><span style="font-size: medium">from
bs4 import BeautifulSoup#</span></span></span></span><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">导入</span></span><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑, serif"><span style="font-size: medium">bs4</span></span></span></span><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">库</span></span></p>
<p class="cjk" style="margin-bottom: 0; line-height: 150%" align="left">
   <span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑, serif"><span style="font-size: large">2</span></span></span></span><span style="font-family: 文泉驿点阵正黑"><span style="font-size: large">、创建包含</span></span><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑, serif"><span style="font-size: large">html</span></span></span></span><span style="font-family: 文泉驿点阵正黑"><span style="font-size: large">代码的字符串</span></span></p>
<p class="cjk" style="margin-bottom: 0; line-height: 150%" align="left">
       <span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑, serif"><span style="font-size: medium">html_str
= """</span></span></span></span></p>
<p class="cjk" style="margin-bottom: 0; line-height: 150%" align="left">
      <span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑, serif"><span style="font-size: medium">&lt;html&gt;&lt;head&gt;&lt;title&gt;The
Dormouse's story&lt;/title&gt;&lt;/head&gt;</span></span></span></span></p>
<p class="cjk" style="margin-bottom: 0; line-height: 150%" align="left">
      <span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑, serif"><span style="font-size: medium">&lt;body&gt;</span></span></span></span></p>
<p class="cjk" style="margin-bottom: 0; line-height: 150%" align="left">
      <span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑, serif"><span style="font-size: medium">&lt;p
class="title"&gt;&lt;b&gt;The Dormouse's stopy&lt;/b&gt;&lt;/p&gt;</span></span></span></span></p>
<p class="cjk" style="margin-bottom: 0; line-height: 150%" align="left">
      <span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑, serif"><span style="font-size: medium">&lt;p
class="story"&gt;Once upon a time there were three little
sisters;and their names where</span></span></span></span></p>
<p class="cjk" style="margin-bottom: 0; line-height: 150%" align="left">
      <span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑, serif"><span style="font-size: medium">&lt;a
href="http://example.com/elsie" class="sister"
id="link1"&gt;&lt;!--Elsie--&gt;&lt;/a&gt;</span></span></span></span></p>
<p class="cjk" style="margin-bottom: 0; line-height: 150%" align="left">
      <span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑, serif"><span style="font-size: medium">"""</span></span></span></span></p>
<p class="cjk" style="margin-bottom: 0; line-height: 150%" align="left">
      <span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑, serif"><span style="font-size: large">3</span></span></span></span><span style="font-family: 文泉驿点阵正黑"><span style="font-size: large">、创建</span></span><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑, serif"><span style="font-size: large">BeautifulSoup</span></span></span></span><span style="font-family: 文泉驿点阵正黑"><span style="font-size: large">对象</span></span></p>
<p class="cjk" style="margin-bottom: 0; line-height: 150%" align="left">
         <span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">(</span></span><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑, serif"><span style="font-size: medium">1</span></span></span></span><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">)直接通过字符串方式创建</span></span></p>
<p class="cjk" style="margin-bottom: 0; line-height: 150%" align="left">
               <span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑, serif"><span style="font-size: medium">soup
= BeautifulSoup(html_str,'</span></span><span style="font-family: 文泉驿点阵正黑, serif"><span style="font-size: medium">lxml</span></span><span style="font-family: 文泉驿点阵正黑, serif"><span style="font-size: medium">')
</span></span><span style="font-family: 文泉驿点阵正黑, serif"><span style="font-size: medium"><strong>#html.parser</strong></span></span></span></span><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium"><strong>是解析器,也可是</strong></span></span><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑, serif"><span style="font-size: medium"><strong>lxml</strong></span></span></span></span></p>
<p class="cjk" style="margin-bottom: 0; line-height: 150%" align="left">
               <span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑, serif"><span style="font-size: medium">print(soup.prettify())
------&gt;</span></span></span></span><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">输出</span></span><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑, serif"><span style="font-size: medium">soup</span></span></span></span><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">对象的内容
</span></span>
</p>
<p class="cjk" style="margin-bottom: 0; line-height: 150%" align="left">
<br>

</p>
<p class="cjk" style="margin-bottom: 0; line-height: 150%" align="left">
          <span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">(</span></span><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑, serif"><span style="font-size: medium">2</span></span></span></span><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">)通过已有的文件来创建</span></span></p>
<p class="cjk" style="margin-bottom: 0; line-height: 150%" align="left">
             <span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑, serif"><span style="font-size: medium">soup
= BeautifulSoup(open('/home/index.html'),features='html.parser')</span></span><span style="font-family: 文泉驿点阵正黑, serif"><span style="font-size: medium"><strong>#html.parser</strong></span></span></span></span><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium"><strong>是解析器,也可是</strong></span></span><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑, serif"><span style="font-size: medium"><strong>lxml</strong></span></span></span></span>
</p>
<p class="cjk" style="margin-bottom: 0; line-height: 150%" align="left">
      
<span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: large">4</span></span></span></span><span style="font-family: 文泉驿点阵正黑"><span style="font-size: large">、</span></span><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: large">BeautifulSoup</span></span></span></span><span style="font-family: 文泉驿点阵正黑"><span style="font-size: large">对象的种类:</span></span><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: large">BeautifulSoup</span></span></span></span><span style="font-family: 文泉驿点阵正黑"><span style="font-size: large">将复杂</span></span><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: large">HTML</span></span></span></span><span style="font-family: 文泉驿点阵正黑"><span style="font-size: large">文档转换成一个复杂的树形结构,每个节点都是</span></span><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: large">Python</span></span></span></span><span style="font-family: 文泉驿点阵正黑"><span style="font-size: large">对象</span></span></p>
<p class="cjk" style="margin-bottom: 0; line-height: 150%" align="left">
      
<span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">(</span></span><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: large">1</span></span></span></span><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">)</span></span><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: large">BeautifulSoup</span></span></span></span><span style="font-family: 文泉驿点阵正黑"><span style="font-size: large">:</span></span><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">表示的是一个文档的全部内容。大部分时候,可以把它当作</span></span><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">Tag</span></span></span></span><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">对象,是一个特殊的</span></span><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">Tag</span></span></span></span><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">,因为</span></span><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">BeautifulSoup</span></span></span></span><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">对象并不是真正的</span></span><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">HTML</span></span></span></span><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">和</span></span><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">XML</span></span></span></span><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">,所以没有</span></span><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">name</span></span></span></span><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">和</span></span><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">attribute</span></span></span></span><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">属性</span></span></p>
<p class="cjk" style="margin-bottom: 0; line-height: 150%" align="left">
         <span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">(</span></span><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: large">2</span></span></span></span><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">)</span></span><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: large">Tag</span></span></span></span><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">:与</span></span><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: large">XML</span></span></span></span><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">或</span></span><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: large">HTML</span></span></span></span><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">原生文档中的</span></span><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: large">Tag</span></span></span></span><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">相同,通俗讲就是标记</span></span></p>
<p class="cjk" style="margin-bottom: 0; line-height: 150%" align="left">
      <span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">如:</span></span></p>
<p class="cjk" style="margin-bottom: 0; line-height: 150%" align="left">
         <span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">抽取</span></span><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: large">title</span></span></span></span><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">:</span></span><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: large">print</span></span></span></span><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">(</span></span><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: large">soup.title</span></span></span></span><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">)</span></span></p>
<p class="cjk" style="margin-bottom: 0; line-height: 150%" align="left">
         <span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">抽取</span></span><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: large">a
</span></span></span></span><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">:
</span></span><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: large">print</span></span></span></span><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">(</span></span><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: large">soup.a</span></span></span></span><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">)</span></span></p>
<p class="cjk" style="margin-bottom: 0; line-height: 150%" align="left">
         <span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">抽取</span></span><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: large">p</span></span></span></span><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">:</span></span><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: large">print</span></span></span></span><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">(</span></span><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: large">soup.p</span></span></span></span><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">)</span></span></p>
<p class="cjk" style="margin-bottom: 0; line-height: 150%" align="left">
       <span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: large">Tag</span></span></span></span><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">中有两个重要的属性:</span></span><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: large">name</span></span></span></span><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">和</span></span><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: large">attributes</span></span></span></span><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">。每个</span></span><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: large">Tag</span></span></span></span><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">都有自己的名字,通过</span></span><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: large">.name</span></span></span></span><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">来获取</span></span></p>
<p class="cjk" style="margin-bottom: 0; line-height: 150%" align="left">
            <span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: large">print</span></span></span></span><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">(</span></span><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: large">soup.title.name</span></span></span></span><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">)</span></span></p>
<p class="cjk" style="margin-bottom: 0; line-height: 150%" align="left">
       <span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">操作</span></span><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: large">Tag</span></span></span></span><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">属性的方法和操作字典相同</span></span></p>
<p class="cjk" style="margin-bottom: 0; line-height: 150%" align="left">
             <span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">如:</span></span><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: large">&lt;p
class=’p1’&gt;Hello World&lt;/p&gt;</span></span></span></span></p>
<p class="cjk" style="margin-bottom: 0; line-height: 150%" align="left">
             <span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: large">print</span></span></span></span><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">(</span></span><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: large">soup.p[‘class’]</span></span></span></span><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">)</span></span></p>
<p class="cjk" style="margin-bottom: 0; line-height: 150%" align="left">
       <span style="font-family: 文泉驿点阵正黑"><span style="font-size: large">也可以直接</span></span><span style="font-family: 文泉驿点阵正黑"><span style="font-size: large">“点”取属性,如
</span></span><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: large">.attrs
</span></span></span></span><span style="font-family: 文泉驿点阵正黑"><span style="font-size: large">获取</span></span><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: large">Tag</span></span></span></span><span style="font-family: 文泉驿点阵正黑"><span style="font-size: large">中所有属性</span></span></p>
<p class="cjk" style="margin-bottom: 0; line-height: 150%" align="left">
            <span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: large">print</span></span></span></span><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">(</span></span><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">soup.p.attrs</span></span></span></span><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">)</span></span>
</p>
<p class="cjk" style="margin-bottom: 0; line-height: 150%" align="left">
       <span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">(</span></span><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: large">3</span></span></span></span><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">)</span></span><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: large">NavigableString</span></span></span></span><span style="font-family: 文泉驿点阵正黑"><span style="font-size: large">:获取标记内部的文字</span></span><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: large">.string</span></span></span></span></p>
<p class="cjk" style="margin-bottom: 0; line-height: 150%" align="left">
   <span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">BeautifulSoup</span></span></span></span><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">用
</span></span><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">NavigableString</span></span></span></span><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">类来封装</span></span><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">Tag</span></span></span></span><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">中的字符串,一个
</span></span><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">NavigableString</span></span></span></span><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">字符串与</span></span><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">Python</span></span></span></span><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">中的</span></span><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">Unicode</span></span></span></span><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">字符串相同,通过</span></span><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">unicode</span></span></span></span><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">()方法可以直接将
</span></span><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">NavigableString</span></span></span></span><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">对象转换成</span></span><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">Unicode</span></span></span></span><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">字符串</span></span></p>
<p class="cjk" style="margin-bottom: 0; line-height: 150%" align="left">
                  <span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">如:</span></span><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">u_string
=unicode(soup.p.string)</span></span></span></span></p>
<p class="cjk" style="margin-bottom: 0; line-height: 150%" align="left">
      
<span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">(</span></span><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: large">4</span></span></span></span><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">)</span></span><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: large">Comment</span></span></span></span><span style="font-family: 文泉驿点阵正黑"><span style="font-size: large">:对于一些特殊对象,如果不清楚这个标记</span></span><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: large">.string</span></span></span></span><span style="font-family: 文泉驿点阵正黑"><span style="font-size: large">的情况下,可能造成数据提取混乱。因此在提取字符串时,可以判断下类型:</span></span></p>
<p class="cjk" style="margin-bottom: 0; line-height: 150%" align="left">
               <span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">if
type(soup.a.string) == bs4.element.Comment:</span></span></span></span></p>
<p class="cjk" style="margin-bottom: 0; line-height: 150%" align="left">
                     <span style="font-family: Liberation Serif, serif"><span style="font-size: medium"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑">print(soup.a.string)</span></span></span></span></p>
<p class="cjk" style="margin-bottom: 0; line-height: 150%" align="left">
   <span style="font-family: Liberation Serif, serif"><span style="font-size: large"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑">5</span></span></span></span><span style="font-size: large"><span style="font-family: 文泉驿点阵正黑">、遍历文档</span></span></p>
<p class="cjk" style="margin-bottom: 0; line-height: 150%" align="left">
         <span style="font-size: large"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">(</span></span></span><span style="font-family: Liberation Serif, serif"><span style="font-size: large"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑">1</span></span></span></span><span style="font-size: large"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">)</span></span><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium"><strong>子节点:</strong></span></span></span></p>
<p class="cjk" style="margin-bottom: 0; line-height: 150%" align="left">
               <span style="font-family: Liberation Serif, serif"><span style="font-size: large"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium"><strong>A</strong></span></span></span></span></span><span style="font-size: large"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium"><strong>、对于直接子节点可以通过
</strong></span></span></span><span style="font-family: Liberation Serif, serif"><span style="font-size: large"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium"><strong>.contents
</strong></span></span></span></span></span><span style="font-size: large"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium"><strong>和
</strong></span></span></span><span style="font-family: Liberation Serif, serif"><span style="font-size: large"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium"><strong>.children</strong></span></span></span></span></span><span style="font-size: large"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium"><strong>来访问</strong></span></span></span></p>
<p class="cjk" style="margin-bottom: 0; line-height: 150%" align="left">
                   <span style="font-family: Liberation Serif, serif"><span style="font-size: large"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium"><strong>.contents
----&gt;</strong></span></span></span></span></span><span style="font-size: large"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium"><strong>将</strong></span></span></span><span style="font-family: Liberation Serif, serif"><span style="font-size: large"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium"><strong>Tag</strong></span></span></span></span></span><span style="font-size: large"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium"><strong>子节点以列表的方式输出</strong></span></span></span></p>
<p class="cjk" style="margin-bottom: 0; line-height: 150%" align="left">
                            <span style="font-family: Liberation Serif, serif"><span style="font-size: large"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium"><span style="font-weight: normal">print</span></span></span></span></span></span><span style="font-size: large"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium"><span style="font-weight: normal">(</span></span></span></span><span style="font-family: Liberation Serif, serif"><span style="font-size: large"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium"><span style="font-weight: normal">soup.head.contents</span></span></span></span></span></span><span style="font-size: large"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium"><span style="font-weight: normal">)</span></span></span></span></p>
<p class="cjk" style="margin-bottom: 0; line-height: 150%" align="left">
                   <span style="font-family: Liberation Serif, serif"><span style="font-size: large"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium"><strong>.children
-----&gt;</strong></span></span></span></span></span><span style="font-size: large"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium"><strong>返回一个生成器,对</strong></span></span></span><span style="font-family: Liberation Serif, serif"><span style="font-size: large"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium"><strong>Tag</strong></span></span></span></span></span><span style="font-size: large"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium"><strong>子节点进行循环</strong></span></span></span></p>
<p class="cjk" style="margin-bottom: 0; line-height: 150%" align="left">
                            <span style="font-family: Liberation Serif, serif"><span style="font-size: large"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium"><span style="font-weight: normal">for
childinsoup.head.children:</span></span></span></span></span></span></p>
<p class="cjk" style="margin-bottom: 0; font-weight: normal; line-height: 150%" align="left">
                                          <span style="font-family: Liberation Serif, serif"><span style="font-size: large"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">print</span></span></span></span></span><span style="font-size: large"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">(</span></span></span><span style="font-family: Liberation Serif, serif"><span style="font-size: large"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">child</span></span></span></span></span><span style="font-size: large"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">)
      </span></span></span>
</p>
<p class="cjk" style="margin-bottom: 0; font-weight: normal; line-height: 150%" align="left">
               <span style="font-family: Liberation Serif, serif"><span style="font-size: large"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium"><strong>B</strong></span></span></span></span></span><span style="font-size: large"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium"><strong>、获取子节点的内容</strong></span></span></span></p>
<p class="cjk" style="margin-bottom: 0; font-weight: normal; line-height: 150%" align="left">
                  <span style="font-family: Liberation Serif, serif"><span style="font-size: large"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium"><strong>.string
---&gt;
</strong></span></span></span></span></span><span style="font-size: large"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium"><strong>如果标记里没有标记了,则返回内容;如果标记里只有一个唯一的标记,则返回最里面的内容;如果包含多个子节点,</strong></span></span></span><span style="font-family: Liberation Serif, serif"><span style="font-size: large"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium"><strong>Tag</strong></span></span></span></span></span><span style="font-size: large"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium"><strong>无法确定</strong></span></span></span><span style="font-family: Liberation Serif, serif"><span style="font-size: large"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium"><strong>.string</strong></span></span></span></span></span><span style="font-size: large"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium"><strong>方法应该返回哪个时,则返回</strong></span></span></span><span style="font-family: Liberation Serif, serif"><span style="font-size: large"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium"><strong>None</strong></span></span></span></span></span></p>
<p class="cjk" style="margin-bottom: 0; font-weight: normal; line-height: 150%" align="left">
                  <span style="font-family: Liberation Serif, serif"><span style="font-size: large"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium"><strong>.strings
----&gt;</strong></span></span></span></span></span><span style="font-size: large"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium"><strong>主要应用于</strong></span></span></span><span style="font-family: Liberation Serif, serif"><span style="font-size: large"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium"><strong>Tag</strong></span></span></span></span></span><span style="font-size: large"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium"><strong>中包含多个字符串的情况,可以进行循环遍历</strong></span></span></span></p>
<p class="cjk" style="margin-bottom: 0; font-weight: normal; line-height: 150%" align="left">
                               <span style="font-family: Liberation Serif, serif"><span style="font-size: large"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">for
str   insoup.strings:</span></span></span></span></span></p>
<p class="cjk" style="margin-bottom: 0; font-weight: normal; line-height: 150%" align="left">
                                 <span style="font-family: Liberation Serif, serif"><span style="font-size: large"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">print</span></span></span></span></span><span style="font-size: large"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">(</span></span></span><span style="font-family: Liberation Serif, serif"><span style="font-size: large"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">repr(str)</span></span></span></span></span><span style="font-size: large"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">)
    </span></span></span>
</p>
<p class="cjk" style="margin-bottom: 0; font-weight: normal; line-height: 150%" align="left">
<br>

</p>
<p class="cjk" style="margin-bottom: 0; font-weight: normal; line-height: 150%" align="left">
                  <span style="font-family: Liberation Serif, serif"><span style="font-size: large"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium"><strong>.stripped_string
-----&gt;</strong></span></span></span></span></span><span style="font-size: large"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium"><strong>可以去掉字符串中包含的空格或空行</strong></span></span></span></p>
<p class="cjk" style="margin-bottom: 0; font-weight: normal; line-height: 150%" align="left">
                                  <span style="font-family: Liberation Serif, serif"><span style="font-size: large"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">for
strinsoup.stripped_strings:</span></span></span></span></span></p>
<p class="cjk" style="margin-bottom: 0; font-weight: normal; line-height: 150%" align="left">
                                          <span style="font-family: Liberation Serif, serif"><span style="font-size: large"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">print(repr(str))</span></span></span></span></span></p>
<p class="cjk" style="margin-bottom: 0; font-weight: normal; line-height: 150%" align="left">
         <span style="font-size: large"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">(</span></span></span><span style="font-family: Liberation Serif, serif"><span style="font-size: large"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑">2</span></span></span></span><span style="font-size: large"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">)</span></span><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium"><strong>父节点</strong></span></span></span></p>
<p class="cjk" style="margin-bottom: 0; font-weight: normal; line-height: 150%" align="left">
                  <span style="font-family: Liberation Serif, serif"><span style="font-size: large"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium"><strong>A</strong></span></span></span></span></span><span style="font-size: large"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium"><strong>、通过</strong></span></span></span><span style="font-family: Liberation Serif, serif"><span style="font-size: large"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium"><strong>.parent</strong></span></span></span></span></span><span style="font-size: large"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium"><strong>属性来获取某个元素的父节点,如:</strong></span></span></span></p>
<p class="cjk" style="margin-bottom: 0; font-weight: normal; line-height: 150%" align="left">
                        <span style="font-family: Liberation Serif, serif"><span style="font-size: large"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">print</span></span></span></span></span><span style="font-size: large"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">(</span></span></span><span style="font-family: Liberation Serif, serif"><span style="font-size: large"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">soup.title.parent</span></span></span></span></span><span style="font-size: large"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">)</span></span></span></p>
<p class="cjk" style="margin-bottom: 0; font-weight: normal; line-height: 150%" align="left">
                  <span style="font-family: Liberation Serif, serif"><span style="font-size: large"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium"><strong>B</strong></span></span></span></span></span><span style="font-size: large"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium"><strong>、通过</strong></span></span></span><span style="font-family: Liberation Serif, serif"><span style="font-size: large"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium"><strong>.parents</strong></span></span></span></span></span><span style="font-size: large"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium"><strong>属性可以递归得到元素的所有父辈节点</strong></span></span></span></p>
<p class="cjk" style="margin-bottom: 0; font-weight: normal; line-height: 150%" align="left">
                         <span style="font-family: Liberation Serif, serif"><span style="font-size: large"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">for
parentinsoup.a.parents:</span></span></span></span></span></p>
<p class="cjk" style="margin-bottom: 0; font-weight: normal; line-height: 150%" align="left">
                               <span style="font-family: Liberation Serif, serif"><span style="font-size: large"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">if
parentisNone:</span></span></span></span></span></p>
<p class="cjk" style="margin-bottom: 0; font-weight: normal; line-height: 150%" align="left">
                                 <span style="font-family: Liberation Serif, serif"><span style="font-size: large"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">print(parent)</span></span></span></span></span></p>
<p class="cjk" style="margin-bottom: 0; font-weight: normal; line-height: 150%" align="left">
                               <span style="font-family: Liberation Serif, serif"><span style="font-size: large"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">else:</span></span></span></span></span></p>
<p class="cjk" style="margin-bottom: 0; font-weight: normal; line-height: 150%" align="left">
                                    <span style="font-family: Liberation Serif, serif"><span style="font-size: large"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">print(parent.name)
</span></span></span></span></span>
</p>
<p class="cjk" style="margin-bottom: 0; font-weight: normal; line-height: 150%" align="left">
            <span style="font-size: large"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">(</span></span></span><span style="font-family: Liberation Serif, serif"><span style="font-size: large"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><strong>3</strong></span></span></span></span><span style="font-size: large"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">)</span></span><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium"><strong>兄弟节点</strong></span></span></span></p>
<p class="cjk" style="margin-bottom: 0; font-weight: normal; line-height: 150%" align="left">
                         <span style="font-family: Liberation Serif, serif"><span style="font-size: large"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium"><strong>.
</strong></span></span><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium"><strong>next_sibling
-----&gt;</strong></span></span></span></span></span><span style="font-size: large"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium"><strong>获取该节点的下一个兄弟节点</strong></span></span></span></p>
<p class="cjk" style="margin-bottom: 0; font-weight: normal; line-height: 150%" align="left">
                         <span style="font-family: Liberation Serif, serif"><span style="font-size: large"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium"><strong>.
previous_sibling-----&gt;</strong></span></span></span></span></span><span style="font-size: large"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium"><strong>获取该节点的上一个兄弟节点</strong></span></span></span></p>
<p class="cjk" style="margin-bottom: 0; font-weight: normal; line-height: 150%" align="left">
            <span style="font-size: large"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">(</span></span></span><span style="font-family: Liberation Serif, serif"><span style="font-size: large"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑">4</span></span></span></span><span style="font-size: large"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">)</span></span><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium"><strong>前后节点</strong></span></span></span></p>
<p class="cjk" style="margin-bottom: 0; font-weight: normal; line-height: 150%" align="left">
                      <span style="font-family: Liberation Serif, serif"><span style="font-size: large"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium"><strong>.
next_elements -----&gt;</strong></span></span></span></span></span><span style="font-size: large"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium"><strong>获得该节点前面的所有节点</strong></span></span></span></p>
<p class="cjk" style="margin-bottom: 0; font-weight: normal; line-height: 150%" align="left">
                      <span style="font-family: Liberation Serif, serif"><span style="font-size: large"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium"><strong>.
previous_elements -----&gt;</strong></span></span></span></span></span><span style="font-size: large"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium"><strong>获得该节点后面的所有节点</strong></span></span></span></p>
<p class="cjk" style="margin-bottom: 0; font-weight: normal; line-height: 150%" align="left">&nbsp;</p>
<p class="cjk" style="margin-bottom: 0; font-weight: normal; line-height: 150%" align="left">
       <span style="font-family: Liberation Serif, serif"><span style="font-size: large"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑">6</span></span></span></span><span style="font-size: large"><span style="font-family: 文泉驿点阵正黑">、搜索文档树</span></span></p>
<p class="cjk" style="margin-bottom: 0; font-weight: normal; line-height: 150%" align="left">
         <span style="font-size: large"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">(</span></span></span><span style="font-family: Liberation Serif, serif"><span style="font-size: large"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑">1</span></span></span></span><span style="font-size: large"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">)</span></span></span><span style="font-family: Liberation Serif, serif"><span style="font-size: large"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium"><strong>find_all(name,attrs,recursive,text,**kwargs)</strong></span></span></span></span></span></p>
<p class="cjk" style="margin-bottom: 0; font-weight: normal; line-height: 150%" align="left">
                     <span style="font-family: Liberation Serif, serif"><span style="font-size: large"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium"><strong>A</strong></span></span></span></span></span><span style="font-size: large"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium"><strong>、</strong></span></span></span><span style="font-family: Liberation Serif, serif"><span style="font-size: large"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium"><strong>name</strong></span></span></span></span></span><span style="font-size: large"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium"><strong>参数:查找名字为</strong></span></span></span><span style="font-family: Liberation Serif, serif"><span style="font-size: large"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium"><strong>name</strong></span></span></span></span></span><span style="font-size: large"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium"><strong>的标记</strong></span></span></span></p>
<p class="cjk" style="margin-bottom: 0; font-weight: normal; line-height: 150%" align="left">
                         <span style="font-family: Liberation Serif, serif"><span style="font-size: large"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">print</span></span></span></span></span><span style="font-size: large"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">(</span></span></span><span style="font-family: Liberation Serif, serif"><span style="font-size: large"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">soup.find_all(‘‘’’b)</span></span></span></span></span><span style="font-size: large"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">)</span></span></span></p>
<p class="cjk" style="margin-bottom: 0; font-weight: normal; line-height: 150%" align="left">
                     <span style="font-family: Liberation Serif, serif"><span style="font-size: large"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium"><strong>B</strong></span></span></span></span></span><span style="font-size: large"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium"><strong>、</strong></span></span></span><span style="font-family: Liberation Serif, serif"><span style="font-size: large"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium"><strong>text</strong></span></span></span></span></span><span style="font-size: large"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium"><strong>参数:查找文档中字符串的内容</strong></span></span></span></p>
<p class="cjk" style="margin-bottom: 0; font-weight: normal; line-height: 150%" align="left">
                     <span style="font-family: Liberation Serif, serif"><span style="font-size: large"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium"><strong>C</strong></span></span></span></span></span><span style="font-size: large"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium"><strong>、
</strong></span></span></span><span style="font-family: Liberation Serif, serif"><span style="font-size: large"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium"><strong>recursive</strong></span></span></span></span></span><span style="font-size: large"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium"><strong>参数:检索当前</strong></span></span></span><span style="font-family: Liberation Serif, serif"><span style="font-size: large"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium"><strong>Tag</strong></span></span></span></span></span><span style="font-size: large"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium"><strong>的所有子孙节点时,若只想找直接子节点,
                         该参数设置为</strong></span></span></span><span style="font-family: Liberation Serif, serif"><span style="font-size: large"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium"><strong>False
</strong></span></span></span></span></span>
</p>
<p class="cjk" style="margin-bottom: 0; font-weight: normal; line-height: 150%" align="left">
<br>

</p>
<p class="cjk" style="margin-bottom: 0; font-weight: normal; line-height: 150%" align="left">
      <span style="font-family: Liberation Serif, serif"><span style="font-size: large"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑">7</span></span></span></span><span style="font-size: large"><span style="font-family: 文泉驿点阵正黑">、</span></span><span style="font-family: Liberation Serif, serif"><span style="font-size: large"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑">CSS</span></span></span></span><span style="font-size: large"><span style="font-family: 文泉驿点阵正黑">选择器:使用</span></span><span style="font-family: Liberation Serif, serif"><span style="font-size: large"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑">soup.select()</span></span></span></span><span style="font-size: large"><span style="font-family: 文泉驿点阵正黑">函数</span></span></p>
<p class="cjk" style="margin-bottom: 0; font-weight: normal; line-height: 150%" align="left">
             <span style="font-size: large"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">(</span></span></span><span style="font-family: Liberation Serif, serif"><span style="font-size: large"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑">1</span></span></span></span><span style="font-size: large"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">)</span></span><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium"><strong>通过标记名查找</strong></span></span></span></p>
<p class="cjk" style="margin-bottom: 0; font-weight: normal; line-height: 150%" align="left">
                         <span style="font-family: Liberation Serif, serif"><span style="font-size: large"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">print</span></span></span></span></span><span style="font-size: large"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">(</span></span></span><span style="font-family: Liberation Serif, serif"><span style="font-size: large"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">soup.select("title")</span></span></span></span></span><span style="font-size: large"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">)</span></span></span></p>
<p class="cjk" style="margin-bottom: 0; font-weight: normal; line-height: 150%" align="left">
               <span style="font-size: large"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">(</span></span></span><span style="font-family: Liberation Serif, serif"><span style="font-size: large"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑">2</span></span></span></span><span style="font-size: large"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">)</span></span><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium"><strong>通过</strong></span></span></span><span style="font-family: Liberation Serif, serif"><span style="font-size: large"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium"><strong>Tag</strong></span></span></span></span></span><span style="font-size: large"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium"><strong>的</strong></span></span></span><span style="font-family: Liberation Serif, serif"><span style="font-size: large"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium"><strong>class</strong></span></span></span></span></span><span style="font-size: large"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium"><strong>属性值查找</strong></span></span></span></p>
<p class="cjk" style="margin-bottom: 0; font-weight: normal; line-height: 150%" align="left">
                         <span style="font-family: Liberation Serif, serif"><span style="font-size: large"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">print</span></span></span></span></span><span style="font-size: large"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">(</span></span></span><span style="font-family: Liberation Serif, serif"><span style="font-size: large"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">soup.select(".sister")</span></span></span></span></span><span style="font-size: large"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">)</span></span></span></p>
<p class="cjk" style="margin-bottom: 0; font-weight: normal; line-height: 150%" align="left">
               <span style="font-size: large"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">(</span></span></span><span style="font-family: Liberation Serif, serif"><span style="font-size: large"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑">3</span></span></span></span><span style="font-size: large"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">)</span></span><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium"><strong>通过</strong></span></span></span><span style="font-family: Liberation Serif, serif"><span style="font-size: large"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium"><strong>Tag</strong></span></span></span></span></span><span style="font-size: large"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium"><strong>的</strong></span></span></span><span style="font-family: Liberation Serif, serif"><span style="font-size: large"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium"><strong>id</strong></span></span></span></span></span><span style="font-size: large"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium"><strong>属性值查找</strong></span></span></span></p>
<p class="cjk" style="margin-bottom: 0; font-weight: normal; line-height: 150%" align="left">
                        <span style="font-family: Liberation Serif, serif"><span style="font-size: large"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">print</span></span></span></span></span><span style="font-size: large"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">(</span></span></span><span style="font-family: Liberation Serif, serif"><span style="font-size: large"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">soup.select("#sister")</span></span></span></span></span><span style="font-size: large"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">)</span></span></span></p>
<p class="cjk" style="margin-bottom: 0; font-weight: normal; line-height: 150%" align="left">
                <span style="font-size: large"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">(</span></span></span><span style="font-family: Liberation Serif, serif"><span style="font-size: large"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑">4</span></span></span></span><span style="font-size: large"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">)</span></span><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium"><strong>通过是否存在某个属性查找</strong></span></span></span></p>
<p class="cjk" style="margin-bottom: 0; font-weight: normal; line-height: 150%" align="left">
                        <span style="font-family: Liberation Serif, serif"><span style="font-size: large"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">print</span></span></span></span></span><span style="font-size: large"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">(</span></span></span><span style="font-family: Liberation Serif, serif"><span style="font-size: large"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">soup.select("a")</span></span></span></span></span><span style="font-size: large"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">)</span></span></span></p>
<p class="cjk" style="margin-bottom: 0; font-weight: normal; line-height: 150%" align="left">
               <span style="font-size: large"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">(</span></span></span><span style="font-family: Liberation Serif, serif"><span style="font-size: large"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑">5</span></span></span></span><span style="font-size: large"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">)</span></span><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium"><strong>通过属性值查找</strong></span></span></span></p>
<p class="cjk" style="margin-bottom: 0; font-weight: normal; line-height: 150%" align="left">
                        
<span style="font-family: Liberation Serif, serif"><span style="font-size: large"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">print</span></span></span></span></span><span style="font-size: large"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">(</span></span></span><span style="font-family: Liberation Serif, serif"><span style="font-size: large"><span lang="en-US"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">soup.select('a')</span></span></span></span></span><span style="font-size: large"><span style="font-family: 文泉驿点阵正黑"><span style="font-size: medium">)</span></span></span></p>
<style>p { margin-bottom: 0.25cm; direction: ltr; color: rgba(0, 0, 10, 1); line-height: 120%; text-align: left }
p.western { font-family: "Liberation Serif", serif; font-size: 12pt }
p.cjk { font-family: "文泉驿点阵正黑"; font-size: 12pt }
p.ctl { font-family: "Lohit Devanagari"; font-size: 12pt }</style>
<p>&nbsp;</p><br><br>
来源:https://www.cnblogs.com/lone5wolf/p/10881395.html
頁: [1]
查看完整版本: Python之Html解析方法