<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:media="http://search.yahoo.com/mrss/"><channel><title>HTML on IT 空間</title><link>https://blog.jiatool.com/tags/HTML/</link><description>Recent content in HTML on IT 空間</description><generator>Hugo -- gohugo.io</generator><language>zh</language><managingEditor>jia@jiatool.com (Jia)</managingEditor><webMaster>jia@jiatool.com (Jia)</webMaster><copyright>&amp;copy;{year}, Jia All Rights Reserved</copyright><lastBuildDate>Fri, 12 Jun 2020 22:29:06 +0800</lastBuildDate><atom:link href="https://blog.jiatool.com/tags/HTML/index.xml" rel="self" type="application/rss+xml"/><item><title>常用網頁 CSS Selector (選擇器)取得元素，搭配 Python BeautifulSoup 套件</title><link>https://blog.jiatool.com/posts/sorted-out-css-selector/</link><pubDate>Fri, 12 Jun 2020 22:29:06 +0800</pubDate><author>jia@jiatool.com (Jia)</author><atom:modified>Sun, 17 Mar 2024 08:25:00 +0800</atom:modified><guid>https://blog.jiatool.com/posts/sorted-out-css-selector/</guid><description>(2021/10/03 新增) 瀏覽器使用 CSS Selectors 搜尋教學。 最近開始接觸網路爬蟲，因此順便把一些常用網頁取得元素(element)的 CSS Selectors 方式整理一下，第一部分是純 CSS</description><content:encoded>&lt;p>(2021/10/03 新增) 瀏覽器使用 CSS Selectors 搜尋教學。&lt;/p>
&lt;p>最近開始接觸網路爬蟲，因此順便把一些常用網頁取得元素(element)的 CSS Selectors 方式整理一下，第一部分是純 CSS，第二部分則是 Python 搭配 BeautifulSoup 套件。&lt;/p>
&lt;p>喜歡網路爬蟲也歡迎觀看 &lt;a href="https://blog.jiatool.com/series/Python%e7%b6%b2%e8%b7%af%e7%88%ac%e8%9f%b2%e5%af%a6%e4%be%8b/" target="_blank" rel="noopener">
Python網路爬蟲實例
&lt;/a> 系列文章~&lt;/p>
&lt;br/>
&lt;!--adsense-->
&lt;h2 id="純css">純CSS&lt;/h2>
&lt;p>先上表格，後面還有範例。&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>說明&lt;/th>
&lt;th>語法&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>tag 定位&lt;/td>
&lt;td>span font&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>id 定位&lt;/td>
&lt;td>#ID&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>class 定位&lt;/td>
&lt;td>.CLASS&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>排除&lt;/td>
&lt;td>:not()&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>屬性值&lt;/td>
&lt;td>[name=&amp;quot;NAME&amp;quot;]&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>屬性值(不等於)&lt;/td>
&lt;td>[name!=&amp;quot;NAME&amp;quot;]&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>屬性值包含&lt;/td>
&lt;td>[title*=&amp;quot;TITLE&amp;quot;]&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>屬性值開頭&lt;/td>
&lt;td>[title^=&amp;quot;start&amp;quot;]&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>屬性值結尾&lt;/td>
&lt;td>[title$=&amp;quot;end&amp;quot;]&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>第 1 個子元素 (全部)&lt;/td>
&lt;td>ul li:first-child&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>最後 1 個子元素 (全部)&lt;/td>
&lt;td>ul li:last-child&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>第 2 個子元素 (全部)&lt;/td>
&lt;td>ul li:nth-child(2)&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>倒數第 2 個子元素 (全部)&lt;/td>
&lt;td>ul li:nth-last-child(2)&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>第 1 個子元素 (指定)&lt;/td>
&lt;td>ul li:first-of-type&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>最後 1 個子元素 (指定)&lt;/td>
&lt;td>ul li:last-of-type&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>第 2 個子元素 (指定)&lt;/td>
&lt;td>ul li:nth-of-type(2)&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>倒數第 2 個子元素 (指定)&lt;/td>
&lt;td>ul li:nth-last-of-type(2)&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>第奇數個子元素 (指定)&lt;/td>
&lt;td>ul li:nth-of-type(odd)&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>第偶數個子元素 (指定)&lt;/td>
&lt;td>ul li:nth-of-type(even)&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>第 3 的倍數個子元素 (指定)&lt;/td>
&lt;td>ul li:nth-of-type(3n)&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>第 3 的倍數+1個子元素 (指定)&lt;/td>
&lt;td>ul li:nth-of-type(3n+1)&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>同一層往後尋找元素&lt;/td>
&lt;td>#ID ~ i&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>同一層的&amp;quot;下一個&amp;quot;元素&lt;/td>
&lt;td>#ID + *&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>同時尋找多種選擇器&lt;/td>
&lt;td>#id1 , #id2&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;div class="expand">
&lt;button type="button" class="expand__button" aria-label="Expand Button">
&lt;span class="expand-icon expand-icon__right">
&lt;svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">&lt;path fill="currentColor" d="M9.29 15.88L13.17 12 9.29 8.12c-.39-.39-.39-1.02 0-1.41.39-.39 1.02-.39 1.41 0l4.59 4.59c.39.39.39 1.02 0 1.41L10.7 17.3c-.39.39-1.02.39-1.41 0-.38-.39-.39-1.03 0-1.42z"/>&lt;/svg>
&lt;/span>
以下程式碼省略
&lt;/button>
&lt;div class="expand__content">
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;span class="lnt">4
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre class="chroma">&lt;code class="language-Python" data-lang="Python">&lt;span class="kn">import&lt;/span> &lt;span class="nn">re&lt;/span>
&lt;span class="kn">from&lt;/span> &lt;span class="nn">bs4&lt;/span> &lt;span class="kn">import&lt;/span> &lt;span class="n">BeautifulSoup&lt;/span>
&lt;span class="n">soup&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">BeautifulSoup&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">html&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="s1">&amp;#39;html.parser&amp;#39;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>
&lt;/div>
&lt;/div>
&lt;br/>
&lt;h3 id="標籤定位tagidclass">標籤定位(tag、id、class)&lt;/h3>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;span class="lnt">14
&lt;/span>&lt;span class="lnt">15
&lt;/span>&lt;span class="lnt">16
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre class="chroma">&lt;code class="language-HTML" data-lang="HTML">&lt;span class="p">&amp;lt;&lt;/span>&lt;span class="nt">html&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>
&lt;span class="p">&amp;lt;&lt;/span>&lt;span class="nt">span&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>
&lt;span class="p">&amp;lt;&lt;/span>&lt;span class="nt">div&lt;/span>&lt;span class="p">&amp;gt;&amp;lt;&lt;/span>&lt;span class="nt">font&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>001&lt;span class="p">&amp;lt;/&lt;/span>&lt;span class="nt">font&lt;/span>&lt;span class="p">&amp;gt;&amp;lt;/&lt;/span>&lt;span class="nt">div&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>
&lt;span class="p">&amp;lt;&lt;/span>&lt;span class="nt">font&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>002&lt;span class="p">&amp;lt;/&lt;/span>&lt;span class="nt">font&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>
&lt;span class="p">&amp;lt;/&lt;/span>&lt;span class="nt">span&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>
&lt;span class="p">&amp;lt;&lt;/span>&lt;span class="nt">div&lt;/span> &lt;span class="na">id&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s">&amp;#34;ID&amp;#34;&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>003&lt;span class="p">&amp;lt;/&lt;/span>&lt;span class="nt">div&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>
&lt;span class="p">&amp;lt;&lt;/span>&lt;span class="nt">div&lt;/span> &lt;span class="na">class&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s">&amp;#34;CLASS CLASS2&amp;#34;&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>004&lt;span class="p">&amp;lt;/&lt;/span>&lt;span class="nt">div&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>
&lt;span class="p">&amp;lt;&lt;/span>&lt;span class="nt">i&lt;/span> &lt;span class="na">name&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s">&amp;#34;NAME&amp;#34;&lt;/span> &lt;span class="na">style&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s">&amp;#34;STYLE&amp;#34;&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>005&lt;span class="p">&amp;lt;/&lt;/span>&lt;span class="nt">i&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>
&lt;span class="p">&amp;lt;&lt;/span>&lt;span class="nt">i&lt;/span> &lt;span class="na">name&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s">&amp;#34;NAME2&amp;#34;&lt;/span> &lt;span class="na">style&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s">&amp;#34;STYLE&amp;#34;&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>006&lt;span class="p">&amp;lt;/&lt;/span>&lt;span class="nt">i&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>
&lt;span class="p">&amp;lt;&lt;/span>&lt;span class="nt">div&lt;/span> &lt;span class="na">title&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s">&amp;#34;TITLE&amp;#34;&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>007&lt;span class="p">&amp;lt;/&lt;/span>&lt;span class="nt">div&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>
&lt;span class="p">&amp;lt;&lt;/span>&lt;span class="nt">div&lt;/span> &lt;span class="na">title&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s">&amp;#34;start-TITLE&amp;#34;&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>008&lt;span class="p">&amp;lt;/&lt;/span>&lt;span class="nt">div&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>
&lt;span class="p">&amp;lt;&lt;/span>&lt;span class="nt">div&lt;/span> &lt;span class="na">title&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s">&amp;#34;TITLE-end&amp;#34;&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>009&lt;span class="p">&amp;lt;/&lt;/span>&lt;span class="nt">div&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>
&lt;span class="p">&amp;lt;/&lt;/span>&lt;span class="nt">html&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>
&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;span class="lnt">14
&lt;/span>&lt;span class="lnt">15
&lt;/span>&lt;span class="lnt">16
&lt;/span>&lt;span class="lnt">17
&lt;/span>&lt;span class="lnt">18
&lt;/span>&lt;span class="lnt">19
&lt;/span>&lt;span class="lnt">20
&lt;/span>&lt;span class="lnt">21
&lt;/span>&lt;span class="lnt">22
&lt;/span>&lt;span class="lnt">23
&lt;/span>&lt;span class="lnt">24
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre class="chroma">&lt;code class="language-Python" data-lang="Python">&lt;span class="c1"># tag定位：&lt;/span>
&lt;span class="n">soup&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">select_one&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;span font&amp;#39;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;span class="c1"># &amp;lt;font&amp;gt;001&amp;lt;/font&amp;gt;&lt;/span>
&lt;span class="n">soup&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">select_one&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;span &amp;gt; font&amp;#39;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;span class="c1"># &amp;lt;font&amp;gt;002&amp;lt;/font&amp;gt;&lt;/span>
&lt;span class="c1"># id定位：&lt;/span>
&lt;span class="n">soup&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">select_one&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;#ID&amp;#39;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;span class="n">soup&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">select_one&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;div#ID&amp;#39;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;span class="c1"># &amp;lt;div id=&amp;#34;ID&amp;#34;&amp;gt;003&amp;lt;/div&amp;gt;&lt;/span>
&lt;span class="c1"># class定位：&lt;/span>
&lt;span class="n">soup&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">select_one&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;.CLASS&amp;#39;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;span class="n">soup&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">select_one&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;div.CLASS&amp;#39;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;span class="n">soup&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">select_one&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;div.CLASS.CLASS2&amp;#39;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;span class="c1"># &amp;lt;div class=&amp;#34;CLASS CLASS2&amp;#34;&amp;gt;004&amp;lt;/div&amp;gt;&lt;/span>
&lt;span class="c1"># 同時尋找多種選擇器&lt;/span>
&lt;span class="n">soup&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">select&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;#ID , .CLASS&amp;#39;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;span class="c1"># [&amp;lt;div id=&amp;#34;ID&amp;#34;&amp;gt;003&amp;lt;/div&amp;gt;, &amp;lt;div class=&amp;#34;CLASS CLASS2&amp;#34;&amp;gt;004&amp;lt;/div&amp;gt;]&lt;/span>
&lt;span class="c1"># 排除&lt;/span>
&lt;span class="n">soup&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">select&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;div:not(#ID):not(.CLASS)&amp;#39;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;span class="c1"># [&amp;lt;div&amp;gt;&amp;lt;font&amp;gt;001&amp;lt;/font&amp;gt;&amp;lt;/div&amp;gt;, &amp;lt;div title=&amp;#34;TITLE&amp;#34;&amp;gt;007&amp;lt;/div&amp;gt;, &amp;lt;div title=&amp;#34;start-TITLE&amp;#34;&amp;gt;008&amp;lt;/div&amp;gt;, &amp;lt;div title=&amp;#34;TITLE-end&amp;#34;&amp;gt;009&amp;lt;/div&amp;gt;]&lt;/span>
&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h3 id="元素屬性">元素屬性&lt;/h3>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;span class="lnt">14
&lt;/span>&lt;span class="lnt">15
&lt;/span>&lt;span class="lnt">16
&lt;/span>&lt;span class="lnt">17
&lt;/span>&lt;span class="lnt">18
&lt;/span>&lt;span class="lnt">19
&lt;/span>&lt;span class="lnt">20
&lt;/span>&lt;span class="lnt">21
&lt;/span>&lt;span class="lnt">22
&lt;/span>&lt;span class="lnt">23
&lt;/span>&lt;span class="lnt">24
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre class="chroma">&lt;code class="language-Python" data-lang="Python">&lt;span class="c1"># 元素有某屬性：&lt;/span>
&lt;span class="n">soup&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">select_one&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;i[name]&amp;#39;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;span class="c1"># &amp;lt;i name=&amp;#34;NAME&amp;#34; style=&amp;#34;STYLE&amp;#34;&amp;gt;005&amp;lt;/i&amp;gt;&lt;/span>
&lt;span class="c1"># 屬性值：&lt;/span>
&lt;span class="n">soup&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">select_one&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;i[name=&amp;#34;NAME&amp;#34;]&amp;#39;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;span class="n">soup&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">select_one&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;i[name=&amp;#34;NAME&amp;#34;][style=&amp;#34;STYLE&amp;#34;]&amp;#39;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;span class="c1"># &amp;lt;i name=&amp;#34;NAME&amp;#34; style=&amp;#34;STYLE&amp;#34;&amp;gt;005&amp;lt;/i&amp;gt;&lt;/span>
&lt;span class="c1"># 屬性值不等於：&lt;/span>
&lt;span class="n">soup&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">select_one&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;i[name!=&amp;#34;NAME&amp;#34;]&amp;#39;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;span class="c1"># &amp;lt;i name=&amp;#34;NAME2&amp;#34; style=&amp;#34;STYLE&amp;#34;&amp;gt;006&amp;lt;/i&amp;gt;&lt;/span>
&lt;span class="c1"># 屬性值包含某字串：&lt;/span>
&lt;span class="n">soup&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">select_one&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;div[title*=&amp;#34;TITLE&amp;#34;]&amp;#39;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;span class="c1"># &amp;lt;div title=&amp;#34;TITLE&amp;#34;&amp;gt;007&amp;lt;/div&amp;gt;&lt;/span>
&lt;span class="c1"># 屬性值以某字串開頭：&lt;/span>
&lt;span class="n">soup&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">select_one&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;div[title^=&amp;#34;start&amp;#34;]&amp;#39;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;span class="c1"># &amp;lt;div title=&amp;#34;start-TITLE&amp;#34;&amp;gt;008&amp;lt;/div&amp;gt;&lt;/span>
&lt;span class="c1"># 屬性值以某字串結尾：&lt;/span>
&lt;span class="n">soup&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">select_one&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;div[title$=&amp;#34;end&amp;#34;]&amp;#39;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;span class="c1"># &amp;lt;div title=&amp;#34;TITLE-end&amp;#34;&amp;gt;009&amp;lt;/div&amp;gt;&lt;/span>
&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h3 id="子元素">子元素&lt;/h3>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre class="chroma">&lt;code class="language-HTML" data-lang="HTML">&lt;span class="p">&amp;lt;&lt;/span>&lt;span class="nt">html&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>
&lt;span class="p">&amp;lt;&lt;/span>&lt;span class="nt">div&lt;/span> &lt;span class="na">id&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s">&amp;#34;list&amp;#34;&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>
&lt;span class="p">&amp;lt;&lt;/span>&lt;span class="nt">p&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>101&lt;span class="p">&amp;lt;/&lt;/span>&lt;span class="nt">p&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>
&lt;span class="p">&amp;lt;&lt;/span>&lt;span class="nt">p&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>102&lt;span class="p">&amp;lt;/&lt;/span>&lt;span class="nt">p&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>
&lt;span class="p">&amp;lt;&lt;/span>&lt;span class="nt">span&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>201&lt;span class="p">&amp;lt;/&lt;/span>&lt;span class="nt">span&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>
&lt;span class="p">&amp;lt;&lt;/span>&lt;span class="nt">span&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>202&lt;span class="p">&amp;lt;/&lt;/span>&lt;span class="nt">span&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>
&lt;span class="p">&amp;lt;&lt;/span>&lt;span class="nt">span&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>203&lt;span class="p">&amp;lt;/&lt;/span>&lt;span class="nt">span&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>
&lt;span class="p">&amp;lt;&lt;/span>&lt;span class="nt">p&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>103&lt;span class="p">&amp;lt;/&lt;/span>&lt;span class="nt">p&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>
&lt;span class="p">&amp;lt;&lt;/span>&lt;span class="nt">span&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>204&lt;span class="p">&amp;lt;/&lt;/span>&lt;span class="nt">span&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>
&lt;span class="p">&amp;lt;&lt;/span>&lt;span class="nt">p&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>104&lt;span class="p">&amp;lt;/&lt;/span>&lt;span class="nt">p&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>
&lt;span class="p">&amp;lt;/&lt;/span>&lt;span class="nt">div&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>
&lt;span class="p">&amp;lt;/&lt;/span>&lt;span class="nt">html&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>
&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;span class="lnt">14
&lt;/span>&lt;span class="lnt">15
&lt;/span>&lt;span class="lnt">16
&lt;/span>&lt;span class="lnt">17
&lt;/span>&lt;span class="lnt">18
&lt;/span>&lt;span class="lnt">19
&lt;/span>&lt;span class="lnt">20
&lt;/span>&lt;span class="lnt">21
&lt;/span>&lt;span class="lnt">22
&lt;/span>&lt;span class="lnt">23
&lt;/span>&lt;span class="lnt">24
&lt;/span>&lt;span class="lnt">25
&lt;/span>&lt;span class="lnt">26
&lt;/span>&lt;span class="lnt">27
&lt;/span>&lt;span class="lnt">28
&lt;/span>&lt;span class="lnt">29
&lt;/span>&lt;span class="lnt">30
&lt;/span>&lt;span class="lnt">31
&lt;/span>&lt;span class="lnt">32
&lt;/span>&lt;span class="lnt">33
&lt;/span>&lt;span class="lnt">34
&lt;/span>&lt;span class="lnt">35
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre class="chroma">&lt;code class="language-Python" data-lang="Python">&lt;span class="c1"># -child&lt;/span>
&lt;span class="c1"># 第1個、最後1個 子元素：&lt;/span>
&lt;span class="n">soup&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">select_one&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;ul#list li:first-child&amp;#39;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;span class="n">soup&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">select_one&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;ul#list li:last-child&amp;#39;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;span class="c1"># &amp;lt;li&amp;gt;1001&amp;lt;/li&amp;gt;&lt;/span>
&lt;span class="c1"># &amp;lt;li&amp;gt;1004&amp;lt;/li&amp;gt;&lt;/span>
&lt;span class="c1"># 第2個、倒數第2個 子元素：&lt;/span>
&lt;span class="n">soup&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">select_one&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;ul#list li:nth-child(2)&amp;#39;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;span class="n">soup&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">select_one&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;ul#list li:nth-last-child(2)&amp;#39;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;span class="c1"># &amp;lt;p&amp;gt;102&amp;lt;/p&amp;gt;&lt;/span>
&lt;span class="c1"># None&lt;/span>
&lt;span class="c1"># 注意：倒數第2個元素不是&amp;#34;p&amp;#34;，因此找不到&lt;/span>
&lt;span class="c1"># -of-type&lt;/span>
&lt;span class="c1"># 第1個、最後1個 子元素：&lt;/span>
&lt;span class="n">soup&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">select_one&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;#list p:first-of-type&amp;#39;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;span class="n">soup&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">select_one&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;#list p:last-of-type&amp;#39;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;span class="c1"># &amp;lt;p&amp;gt;101&amp;lt;/p&amp;gt;&lt;/span>
&lt;span class="c1"># &amp;lt;p&amp;gt;104&amp;lt;/p&amp;gt;&lt;/span>
&lt;span class="c1"># 第2個、倒數第2個 子元素：&lt;/span>
&lt;span class="n">soup&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">select_one&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;#list p:nth-of-type(2)&amp;#39;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;span class="n">soup&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">select_one&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;#list p:nth-last-of-type(2)&amp;#39;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;span class="c1"># &amp;lt;p&amp;gt;102&amp;lt;/p&amp;gt;&lt;/span>
&lt;span class="c1"># &amp;lt;p&amp;gt;103&amp;lt;/p&amp;gt;&lt;/span>
&lt;span class="c1"># 以上兩種很像，他們的差別是：&lt;/span>
&lt;span class="c1"># nth-child 會把全部的元素加進去算；nth-of-type 只會針對你指定的元素去算。&lt;/span>
&lt;span class="c1"># 偶數、奇數 位置元素&lt;/span>
&lt;span class="n">soup&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">select&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;#list p:nth-of-type(odd)&amp;#39;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;span class="n">soup&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">select&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;#list p:nth-of-type(even)&amp;#39;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;span class="c1"># [&amp;lt;p&amp;gt;101&amp;lt;/p&amp;gt;, &amp;lt;p&amp;gt;103&amp;lt;/p&amp;gt;]&lt;/span>
&lt;span class="c1"># [&amp;lt;p&amp;gt;102&amp;lt;/p&amp;gt;, &amp;lt;p&amp;gt;104&amp;lt;/p&amp;gt;]&lt;/span>
&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h3 id="同一層元素">同一層元素&lt;/h3>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;span class="lnt">4
&lt;/span>&lt;span class="lnt">5
&lt;/span>&lt;span class="lnt">6
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre class="chroma">&lt;code class="language-HTML" data-lang="HTML">&lt;span class="p">&amp;lt;&lt;/span>&lt;span class="nt">html&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>
&lt;span class="p">&amp;lt;&lt;/span>&lt;span class="nt">div&lt;/span> &lt;span class="na">id&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s">&amp;#34;ID&amp;#34;&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>301&lt;span class="p">&amp;lt;/&lt;/span>&lt;span class="nt">div&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>
&lt;span class="p">&amp;lt;&lt;/span>&lt;span class="nt">div&lt;/span> &lt;span class="na">class&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s">&amp;#34;CLASS CLASS2&amp;#34;&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>302&lt;span class="p">&amp;lt;/&lt;/span>&lt;span class="nt">div&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>
&lt;span class="p">&amp;lt;&lt;/span>&lt;span class="nt">i&lt;/span> &lt;span class="na">name&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s">&amp;#34;NAME&amp;#34;&lt;/span> &lt;span class="na">style&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s">&amp;#34;STYLE&amp;#34;&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>303&lt;span class="p">&amp;lt;/&lt;/span>&lt;span class="nt">i&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>
&lt;span class="p">&amp;lt;&lt;/span>&lt;span class="nt">i&lt;/span> &lt;span class="na">name&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s">&amp;#34;NAME2&amp;#34;&lt;/span> &lt;span class="na">style&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s">&amp;#34;STYLE&amp;#34;&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>304&lt;span class="p">&amp;lt;/&lt;/span>&lt;span class="nt">i&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>
&lt;span class="p">&amp;lt;/&lt;/span>&lt;span class="nt">html&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>
&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;span class="lnt">14
&lt;/span>&lt;span class="lnt">15
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre class="chroma">&lt;code class="language-Python" data-lang="Python">&lt;span class="c1"># 在同一層往後尋找元素&lt;/span>
&lt;span class="n">soup&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">select_one&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;#ID ~ i&amp;#39;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;span class="c1"># &amp;lt;i name=&amp;#34;NAME&amp;#34; style=&amp;#34;STYLE&amp;#34;&amp;gt;303&amp;lt;/i&amp;gt;&lt;/span>
&lt;span class="c1"># 在同一層的&amp;#34;下一個&amp;#34;元素&lt;/span>
&lt;span class="n">soup&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">select_one&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;#ID + *&amp;#39;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;span class="c1"># &amp;lt;div class=&amp;#34;CLASS CLASS2&amp;#34;&amp;gt;302&amp;lt;/div&amp;gt;&lt;/span>
&lt;span class="c1"># 在同一層，往後尋找&amp;#34;下一個&amp;#34;元素&lt;/span>
&lt;span class="n">soup&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">select_one&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;#ID + div&amp;#39;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;span class="c1"># &amp;lt;div class=&amp;#34;CLASS CLASS2&amp;#34;&amp;gt;302&amp;lt;/div&amp;gt;&lt;/span>
&lt;span class="c1"># 在同一層，往後尋找中間跳過一個元素的&amp;#34;下一個&amp;#34;元素&lt;/span>
&lt;span class="n">soup&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">select_one&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;#ID + * + i&amp;#39;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;span class="c1"># &amp;lt;i name=&amp;#34;NAME&amp;#34; style=&amp;#34;STYLE&amp;#34;&amp;gt;303&amp;lt;/i&amp;gt;&lt;/span>
&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;br/>
&lt;h2 id="搭配-beautifulsoup-套件">搭配 BeautifulSoup 套件&lt;/h2>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;span class="lnt">14
&lt;/span>&lt;span class="lnt">15
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre class="chroma">&lt;code class="language-HTML" data-lang="HTML">&lt;span class="p">&amp;lt;&lt;/span>&lt;span class="nt">div&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>
&lt;span class="p">&amp;lt;&lt;/span>&lt;span class="nt">span&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>標題&lt;span class="p">&amp;lt;/&lt;/span>&lt;span class="nt">span&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>
&lt;span class="p">&amp;lt;&lt;/span>&lt;span class="nt">span&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>副標題&lt;span class="p">&amp;lt;/&lt;/span>&lt;span class="nt">span&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>
&lt;span class="p">&amp;lt;&lt;/span>&lt;span class="nt">span&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>第二副標題&lt;span class="p">&amp;lt;/&lt;/span>&lt;span class="nt">span&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>
&lt;span class="p">&amp;lt;&lt;/span>&lt;span class="nt">div&lt;/span> &lt;span class="na">class&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s">&amp;#34;a&amp;#34;&lt;/span> &lt;span class="na">title&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s">&amp;#34;first&amp;#34;&lt;/span> &lt;span class="na">href&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s">&amp;#34;/link&amp;#34;&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>這是一行句子&lt;span class="p">&amp;lt;/&lt;/span>&lt;span class="nt">div&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>
&lt;span class="p">&amp;lt;&lt;/span>&lt;span class="nt">a&lt;/span> &lt;span class="na">href&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s">&amp;#34;/link1&amp;#34;&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>這是超連結1&lt;span class="p">&amp;lt;/&lt;/span>&lt;span class="nt">div&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>
&lt;span class="p">&amp;lt;&lt;/span>&lt;span class="nt">a&lt;/span> &lt;span class="na">href&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s">&amp;#34;/link2&amp;#34;&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>這是超連結2&lt;span class="p">&amp;lt;/&lt;/span>&lt;span class="nt">div&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>
&lt;span class="p">&amp;lt;&lt;/span>&lt;span class="nt">div&lt;/span> &lt;span class="na">data-target&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s">&amp;#34;value&amp;#34;&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>data屬性&lt;span class="p">&amp;lt;/&lt;/span>&lt;span class="nt">div&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>
&lt;span class="p">&amp;lt;&lt;/span>&lt;span class="nt">div&lt;/span> &lt;span class="na">class&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s">&amp;#34;CLASS CLASS2&amp;#34;&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>多個class&lt;span class="p">&amp;lt;/&lt;/span>&lt;span class="nt">div&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>
&lt;span class="p">&amp;lt;/&lt;/span>&lt;span class="nt">div&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>
&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h3 id="尋找標籤">尋找標籤&lt;/h3>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre class="chroma">&lt;code class="language-Python" data-lang="Python">&lt;span class="c1"># 返回符合的單個元素(如有多個符合，則回傳第一個)，當找不到則回傳None：&lt;/span>
&lt;span class="n">soup&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">select_one&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;span&amp;#39;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;span class="n">soup&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">find&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;span&amp;#39;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;span class="c1"># &amp;lt;span&amp;gt;標題&amp;lt;/span&amp;gt;&lt;/span>
&lt;span class="c1"># 返回符合的全部元素(List)，當找不到則回傳空List：&lt;/span>
&lt;span class="n">soup&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">select&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;span&amp;#39;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;span class="n">soup&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">find_all&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;span&amp;#39;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;span class="c1"># [&amp;lt;span&amp;gt;標題&amp;lt;/span&amp;gt;, &amp;lt;span&amp;gt;副標題&amp;lt;/span&amp;gt;, &amp;lt;span&amp;gt;第二副標題&amp;lt;/span&amp;gt;]&lt;/span>
&lt;span class="c1"># 限制尋找元素數量：&lt;/span>
&lt;span class="n">soup&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">select&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;span&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">limit&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">2&lt;/span>&lt;span class="p">)&lt;/span>
&lt;span class="c1"># [&amp;lt;span&amp;gt;標題&amp;lt;/span&amp;gt;, &amp;lt;span&amp;gt;副標題&amp;lt;/span&amp;gt;]&lt;/span>
&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h3 id="取得元素文字值">取得元素文字、值&lt;/h3>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre class="chroma">&lt;code class="language-Python" data-lang="Python">&lt;span class="c1"># 取得元素的文字：&lt;/span>
&lt;span class="n">soup&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">select_one&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;div.a&amp;#39;&lt;/span>&lt;span class="p">)&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">text&lt;/span>
&lt;span class="c1"># 這是一行句子&lt;/span>
&lt;span class="c1"># 如果需要更多擷取方式，可使用get_text()&lt;/span>
&lt;span class="c1"># 取得元素屬性的值：&lt;/span>
&lt;span class="n">soup&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">select_one&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;div.a&amp;#39;&lt;/span>&lt;span class="p">)&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">get&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;title&amp;#39;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;span class="c1"># first&lt;/span>
&lt;span class="n">soup&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">select_one&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;div.a&amp;#39;&lt;/span>&lt;span class="p">)&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">get&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;class&amp;#39;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;span class="c1"># [&amp;#39;a&amp;#39;]&lt;/span>
&lt;span class="n">soup&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">select_one&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;div.a&amp;#39;&lt;/span>&lt;span class="p">)&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">get&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;href&amp;#39;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;span class="c1"># /link&lt;/span>
&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h3 id="元素屬性文字">元素屬性、文字&lt;/h3>
&lt;p>有些較複雜的也可以改用 find 或 find_all 來尋找。&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;span class="lnt">14
&lt;/span>&lt;span class="lnt">15
&lt;/span>&lt;span class="lnt">16
&lt;/span>&lt;span class="lnt">17
&lt;/span>&lt;span class="lnt">18
&lt;/span>&lt;span class="lnt">19
&lt;/span>&lt;span class="lnt">20
&lt;/span>&lt;span class="lnt">21
&lt;/span>&lt;span class="lnt">22
&lt;/span>&lt;span class="lnt">23
&lt;/span>&lt;span class="lnt">24
&lt;/span>&lt;span class="lnt">25
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre class="chroma">&lt;code class="language-Python" data-lang="Python">&lt;span class="c1"># 基本的&lt;/span>
&lt;span class="n">soup&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">find_all&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">title&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s2">&amp;#34;first&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;span class="c1"># [&amp;lt;div class=&amp;#34;a&amp;#34; href=&amp;#34;/link&amp;#34; title=&amp;#34;first&amp;#34;&amp;gt;這是一行句子&amp;lt;/div&amp;gt;]&lt;/span>
&lt;span class="c1"># 因為 class 在 Python 中是保留字，所以尋找class時改使用 class_：&lt;/span>
&lt;span class="n">soup&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">find_all&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">class_&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s2">&amp;#34;CLASS&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;span class="c1"># [&amp;lt;div class=&amp;#34;CLASS CLASS2&amp;#34;&amp;gt;多個class&amp;lt;/div&amp;gt;]&lt;/span>
&lt;span class="c1"># 當想比對全部class(注意順序)&lt;/span>
&lt;span class="n">soup&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">find_all&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">class_&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s2">&amp;#34;CLASS CLASS2&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;span class="c1"># [&amp;lt;div class=&amp;#34;CLASS CLASS2&amp;#34;&amp;gt;多個class&amp;lt;/div&amp;gt;]&lt;/span>
&lt;span class="c1"># 某些HTML的屬性直接寫的話，會發生錯誤(例如 data-* 這類的屬性)，&lt;/span>
&lt;span class="c1"># 改使用另一種方式即可：&lt;/span>
&lt;span class="n">soup&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">find_all&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">attrs&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="p">{&lt;/span>&lt;span class="s2">&amp;#34;data-target&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;value&amp;#34;&lt;/span>&lt;span class="p">})&lt;/span>
&lt;span class="c1"># [&amp;lt;div data-target=&amp;#34;value&amp;#34;&amp;gt;data屬性&amp;lt;/div&amp;gt;]&lt;/span>
&lt;span class="c1"># 以正規表示式比對超連結網址：&lt;/span>
&lt;span class="n">soup&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">find_all&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">href&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="n">re&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">compile&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;^/link\d&amp;#34;&lt;/span>&lt;span class="p">))&lt;/span>
&lt;span class="c1"># [&amp;lt;a href=&amp;#34;/link1&amp;#34;&amp;gt;這是超連結1&amp;lt;/a&amp;gt;, &amp;lt;a href=&amp;#34;/link2&amp;#34;&amp;gt;這是超連結2&amp;lt;/a&amp;gt;]&lt;/span>
&lt;span class="c1"># 以文字內容尋找(也可搭配正規表示式)&lt;/span>
&lt;span class="n">soup&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">find_all&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;div&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">string&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s2">&amp;#34;這是一行句子&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;span class="n">soup&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">find_all&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;div&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">string&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="n">re&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">compile&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;句子&amp;#34;&lt;/span>&lt;span class="p">))&lt;/span>
&lt;span class="c1"># [&amp;lt;div class=&amp;#34;a&amp;#34; href=&amp;#34;/link&amp;#34; title=&amp;#34;first&amp;#34;&amp;gt;這是一行句子&amp;lt;/div&amp;gt;]&lt;/span>
&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;br/>
&lt;h3 id="父元素同一層元素">父元素、同一層元素&lt;/h3>
&lt;p>前面說的是以其元素往下尋找子元素，那如果要找父元素或同一層元素，使用以下方式：&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;span class="lnt">4
&lt;/span>&lt;span class="lnt">5
&lt;/span>&lt;span class="lnt">6
&lt;/span>&lt;span class="lnt">7
&lt;/span>&lt;span class="lnt">8
&lt;/span>&lt;span class="lnt">9
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre class="chroma">&lt;code class="language-HTML" data-lang="HTML">&lt;span class="p">&amp;lt;&lt;/span>&lt;span class="nt">div&lt;/span> &lt;span class="na">id&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s">&amp;#34;div2&amp;#34;&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>
&lt;span class="p">&amp;lt;&lt;/span>&lt;span class="nt">div&lt;/span> &lt;span class="na">id&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s">&amp;#34;div1&amp;#34;&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>
&lt;span class="p">&amp;lt;&lt;/span>&lt;span class="nt">p&lt;/span> &lt;span class="na">id&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s">&amp;#34;a&amp;#34;&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>第一點&lt;span class="p">&amp;lt;/&lt;/span>&lt;span class="nt">p&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>
&lt;span class="p">&amp;lt;&lt;/span>&lt;span class="nt">p&lt;/span> &lt;span class="na">id&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s">&amp;#34;b&amp;#34;&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>第二點&lt;span class="p">&amp;lt;/&lt;/span>&lt;span class="nt">p&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>
&lt;span class="p">&amp;lt;&lt;/span>&lt;span class="nt">p&lt;/span> &lt;span class="na">id&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s">&amp;#34;my&amp;#34;&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>第三點&lt;span class="p">&amp;lt;/&lt;/span>&lt;span class="nt">p&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>
&lt;span class="p">&amp;lt;&lt;/span>&lt;span class="nt">p&lt;/span> &lt;span class="na">id&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s">&amp;#34;c&amp;#34;&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>第四點&lt;span class="p">&amp;lt;/&lt;/span>&lt;span class="nt">p&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>
&lt;span class="p">&amp;lt;&lt;/span>&lt;span class="nt">p&lt;/span> &lt;span class="na">id&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s">&amp;#34;d&amp;#34;&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>第五點&lt;span class="p">&amp;lt;/&lt;/span>&lt;span class="nt">p&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>
&lt;span class="p">&amp;lt;/&lt;/span>&lt;span class="nt">div&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>
&lt;span class="p">&amp;lt;/&lt;/span>&lt;span class="nt">div&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>
&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;span class="lnt">14
&lt;/span>&lt;span class="lnt">15
&lt;/span>&lt;span class="lnt">16
&lt;/span>&lt;span class="lnt">17
&lt;/span>&lt;span class="lnt">18
&lt;/span>&lt;span class="lnt">19
&lt;/span>&lt;span class="lnt">20
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre class="chroma">&lt;code class="language-Python" data-lang="Python">&lt;span class="c1"># 先以 &amp;lt;p id=&amp;#34;my&amp;#34;&amp;gt;第三點&amp;lt;/p&amp;gt; 元素為基準&lt;/span>
&lt;span class="n">my_tag&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">soup&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">find&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nb">id&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s2">&amp;#34;my&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;span class="c1"># 函式名稱多加s，代表尋找多個&lt;/span>
&lt;span class="c1"># 向上尋找父元素&lt;/span>
&lt;span class="n">my_tag&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">find_parent&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;div&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;span class="n">my_tag&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">find_parents&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;div&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;span class="c1"># 在同一層往前尋找元素&lt;/span>
&lt;span class="n">my_tag&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">find_previous_sibling&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;p&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;span class="c1"># &amp;lt;p id=&amp;#34;b&amp;#34;&amp;gt;第二點&amp;lt;/p&amp;gt;&lt;/span>
&lt;span class="n">my_tag&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">find_previous_siblings&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;p&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;span class="c1"># [&amp;lt;p id=&amp;#34;b&amp;#34;&amp;gt;第二點&amp;lt;/p&amp;gt;, &amp;lt;p id=&amp;#34;a&amp;#34;&amp;gt;第一點&amp;lt;/p&amp;gt;]&lt;/span>
&lt;span class="c1"># 在同一層往後尋找元素&lt;/span>
&lt;span class="n">my_tag&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">find_next_sibling&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;p&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;span class="c1"># &amp;lt;p id=&amp;#34;c&amp;#34;&amp;gt;第四點&amp;lt;/p&amp;gt;&lt;/span>
&lt;span class="n">my_tag&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">find_next_siblings&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;p&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;span class="c1"># [&amp;lt;p id=&amp;#34;c&amp;#34;&amp;gt;第四點&amp;lt;/p&amp;gt;, &amp;lt;p id=&amp;#34;d&amp;#34;&amp;gt;第五點&amp;lt;/p&amp;gt;]&lt;/span>
&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;br/>
&lt;h3 id="其他">其他&lt;/h3>
&lt;p>其他在擷取網頁可能還需要的功能：&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;span class="lnt">4
&lt;/span>&lt;span class="lnt">5
&lt;/span>&lt;span class="lnt">6
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre class="chroma">&lt;code class="language-Python" data-lang="Python">&lt;span class="c1"># 去除某個元素&lt;/span>
&lt;span class="n">node&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">soup&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">select_one&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;#my&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">extract&lt;/span>&lt;span class="p">()&lt;/span>
&lt;span class="c1"># 去除多個元素&lt;/span>
&lt;span class="c1"># 注意：前面已經將 #my 移除了&lt;/span>
&lt;span class="n">node&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">t&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">extract&lt;/span>&lt;span class="p">()&lt;/span> &lt;span class="k">for&lt;/span> &lt;span class="n">t&lt;/span> &lt;span class="ow">in&lt;/span> &lt;span class="n">soup&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">select&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;p&amp;#34;&lt;/span>&lt;span class="p">)]&lt;/span>
&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;br/>
&lt;br/>
&lt;h2 id="瀏覽器使用-css-selectors-搜尋">瀏覽器使用 CSS Selectors 搜尋&lt;/h2>
&lt;p>你知道在撰寫網路爬蟲程式時，可以有什麼方式快速找到元素的標籤嗎？&lt;br />
瀏覽器的 &lt;strong>開發人員工具&lt;/strong> 有許多方便的功能讓我們使用~&lt;/p>
&lt;br/>
&lt;p>Q. 如何開啟瀏覽器的 &lt;strong>開發人員工具&lt;/strong> 呢？&lt;/p>
&lt;p>A. 有以下三種方式：&lt;/p>
&lt;ol>
&lt;li>網頁空白處點擊滑鼠右鍵 &amp;gt; 檢查。&lt;/li>
&lt;li>瀏覽器(Chrome)右上選單 &amp;gt; 更多工具 &amp;gt; 開發人員工具。&lt;/li>
&lt;li>快捷鍵 F12。&lt;/li>
&lt;/ol>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/sorted-out-css-selector/open_developer_tools_01.png" alt="開發人員工具" data-caption="第一種開啟方式" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='300px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:300px;height:;"/>
&lt;figcaption style="text-align: center;">
第一種開啟方式
&lt;/figcaption>
&lt;/figure>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/sorted-out-css-selector/open_developer_tools_02.png" alt="開發人員工具" data-caption="第二種開啟方式" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='500px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:500px;height:;"/>
&lt;figcaption style="text-align: center;">
第二種開啟方式
&lt;/figcaption>
&lt;/figure>
&lt;br/>
&lt;p>Q. 那如何快速找到元素的標籤？&lt;/p>
&lt;p>A. 切換到 &lt;strong>Elements&lt;/strong> 分頁，點擊左上角箭頭，並滑鼠指到(或點選)網頁上的元素。&lt;br />
如此開發人員工具內會跳到此元素的位置，並標註出來。&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/sorted-out-css-selector/developer_tools.png" alt="找到元素的標籤" data-caption="找到元素的標籤" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='650px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:650px;height:;"/>
&lt;figcaption style="text-align: center;">
找到元素的標籤
&lt;/figcaption>
&lt;/figure>
&lt;br/>
&lt;p>Q. 如何使用 CSS Selectors 或 XPath 搜尋元素？&lt;/p>
&lt;p>A. 在 &lt;strong>Elements&lt;/strong> 分頁，快捷鍵 Ctrl + F，會跳出下方搜尋欄，可以透過 &amp;quot;文字&amp;quot;、&amp;quot;CSS Selectors&amp;quot;、&amp;quot;XPath&amp;quot; 搜尋元素。&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/sorted-out-css-selector/elements.png" alt="Elements 下方搜尋欄" data-caption="Elements 下方搜尋欄" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='450px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:450px;height:;"/>
&lt;figcaption style="text-align: center;">
Elements 下方搜尋欄
&lt;/figcaption>
&lt;/figure>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/sorted-out-css-selector/search_selector.png" alt="使用 CSS Selectors 或 XPath 搜尋元素" data-caption="使用 CSS Selectors 或 XPath 搜尋元素" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='450px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:450px;height:;"/>
&lt;figcaption style="text-align: center;">
使用 CSS Selectors 或 XPath 搜尋元素
&lt;/figcaption>
&lt;/figure>
&lt;br/>
&lt;p>Q. 有辦法自動產生元素的 &amp;quot;CSS Selectors&amp;quot;、&amp;quot;XPath&amp;quot; 嗎？&lt;/p>
&lt;p>A. 是可以，但不那麼建議，因為網頁有時會更新、變動，建議自己找出較好的 Selector 寫法。&lt;br />
對元素點擊滑鼠右鍵 &amp;gt; Copy &amp;gt; Copy selector。&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/sorted-out-css-selector/copy_selector.png" alt="複製元素的 CSS Selector 或 XPath" data-caption="複製元素的 CSS Selector 或 XPath" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='450px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:450px;height:;"/>
&lt;figcaption style="text-align: center;">
複製元素的 CSS Selector 或 XPath
&lt;/figcaption>
&lt;/figure>
&lt;br/>
&lt;!--adsense-->
&lt;br/>
&lt;br/>
&lt;p>如有發現任何錯誤，歡迎底下留言告知~&lt;/p>
&lt;br/>
&lt;br/>
&lt;hr />
&lt;p>參考：&lt;br />
&lt;a href="https://blog.csdn.net/huilan_same/article/details/52806985" target="_blank" rel="noopener">
Python selenium —— XPath and CSS cheat sheet
&lt;/a>&lt;br />
&lt;a href="https://blog.gtwang.org/programming/python-beautiful-soup-module-scrape-web-pages-tutorial/" target="_blank" rel="noopener">
Python 使用 Beautiful Soup 抓取與解析網頁資料，開發網路爬蟲教學
&lt;/a>&lt;/p>
&lt;br/>
&lt;blockquote>
&lt;p>不用很厲害才開始，要先開始才會很厲害。&lt;/p>
&lt;/blockquote></content:encoded><dc:creator>Jia</dc:creator><media:content url="https://blog.jiatool.comimages/cover/sorted-out-css-selector.jpg" medium="image"><media:title type="html">featured image</media:title></media:content><media:content url="https://blog.jiatool.comimages/posts/sorted-out-css-selector_meta.jpg" medium="image"><media:title type="html">meta image</media:title></media:content><category>BeautifulSoup</category><category>Python</category><category>CSS</category><category>HTML</category><category>網頁</category><category>網路爬蟲</category></item></channel></rss>