模塊安裝
pip3 install beautifulsoup4
模塊導(dǎo)入
from bs4 import BeautifulSoup
示例html內(nèi)容
獲取html內(nèi)容代碼
import requests
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36 115Browser/9.0.0"
}
response = requests.get("https://www.xbiquge6.com/xbqgph.html",headers=headers)
response.encoding = "utf-8"
html = response.text
print(html)
獲取的html內(nèi)容
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script type="text/javascript" src="/js/m.js"></script>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>經(jīng)典小說(shuō)排行榜-新筆趣閣</title>
<meta name="keywords" content="新筆趣閣,小說(shuō)排行榜" />
<meta name="description" content="新筆趣閣是廣大書(shū)友最值得收藏的小說(shuō)排行榜閱讀網(wǎng),網(wǎng)站收錄了當(dāng)前最火熱的小說(shuō)排行榜巩掺,免費(fèi)提供高質(zhì)量的小說(shuō)最新章節(jié)本刽,是廣大網(wǎng)絡(luò)小說(shuō)愛(ài)好者必備的小說(shuō)閱讀網(wǎng)土浸。" />
<meta http-equiv="Cache-Control" content="no-siteapp" />
<meta http-equiv="Cache-Control" content="no-transform" />
<link rel="stylesheet" href="/css/xbqg.css" />
<script type="text/javascript" src="http://libs.baidu.com/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript" src="/js/xbqg.js"></script>
</head>
<body>
<div id="wrapper">
<script>login();</script>
<div class="header">
<div class="header_logo">
<a href="/">新筆趣閣</a>
</div>
<script>panel();</script>
</div>
<div class="clear"></div>
<div class="nav">
<ul>
<li><a href="/">首頁(yè)</a></li>
<li><a href="/evercase.html">永久書(shū)架</a></li>
<li><a href="/xclass/1/1.html">玄幻奇幻</a></li>
<li><a href="/xclass/2/1.html">武俠仙俠</a></li>
<li><a href="/xclass/3/1.html">都市言情</a></li>
<li><a href="/xclass/4/1.html">歷史軍事</a></li>
<li><a href="/xclass/5/1.html">科幻靈異</a></li>
<li><a href="/xclass/6/1.html">網(wǎng)游競(jìng)技</a></li>
<li><a href="/xclass/7/1.html">女頻頻道</a></li>
<li><a href="/quanben/">完本小說(shuō)</a></li>
<li><a href="/xbqgph.html">排行榜單</a></li>
<li><a href="/xbqgcase.html">臨時(shí)書(shū)架</a></li>
</ul>
</div>
<div id="main">
<div class="novelslist2">
<h2>小說(shuō)排行榜列表</h2>
<ul>
<li><span class="s1"><b>作品分類</b></span><span class="s2"><b>作品名稱</b></span><span class="s3"><b>最新章節(jié)</b></span><span class="s4"><b>作者</b></span><span class="s5"><b>更新時(shí)間</b></span><span class="s6"><b>狀態(tài)</b></span></li>
<li><span class="s1">[<a href="/xclass/3/1.html">都市言情</a>]</span><span class="s2"><a href="/78_78760/" target="_blank">我本港島電影人</a></span><span class="s3"><a href="/78_78760/1203299.html" target="_blank">今天有更</a></span><span class="s4">再來(lái)一盤菇?jīng)?lt;/span><span class="s5">2019-11-16</span><span class="s6">連載中</span></li>
<li><span class="s1">[<a href="/xclass/1/1.html">玄幻奇幻</a>]</span><span class="s2"><a href="/90_90002/" target="_blank">艾澤拉斯新秩序</a></span><span class="s3"><a href="/90_90002/350275.html" target="_blank">第一百三十六章 卡拉贊的收獲</a></span><span class="s4">想靜靜的頓河</span><span class="s5">2019-11-16</span><span class="s6">連載中</span></li>
<li><span class="s1">[<a href="/xclass/3/1.html">都市言情</a>]</span><span class="s2"><a href="/90_90842/" target="_blank">超級(jí)狂婿</a></span><span class="s3"><a href="/90_90842/350271.html" target="_blank">第654章:他不夠格</a></span><span class="s4">我本幸運(yùn)</span><span class="s5">2019-11-16</span><span class="s6">連載中</span></li>
<li><span class="s1">[<a href="/xclass/3/1.html">都市言情</a>]</span><span class="s2"><a href="/90_90305/" target="_blank">我在都市修個(gè)仙</a></span><span class="s3"><a href="/90_90305/339101.html" target="_blank">完本感言</a></span><span class="s4">一劍蕩清風(fēng)</span><span class="s5">2019-11-16</span><span class="s6">連載中</span></li>
<li><span class="s1">[<a href="/xclass/3/1.html">都市言情</a>]</span><span class="s2"><a href="/75_75283/" target="_blank">都市超級(jí)醫(yī)圣</a></span><span class="s3"><a href="/75_75283/4165727.html" target="_blank">第2613章 戰(zhàn)后處理</a></span><span class="s4">斷橋殘雪</span><span class="s5">2019-11-16</span><span class="s6">連載中</span></li>
<li><span class="s1">[<a href="/xclass/3/1.html">都市言情</a>]</span><span class="s2"><a href="/90_90235/" target="_blank">祖?zhèn)魍梁老到y(tǒng)</a></span><span class="s3"><a href="/90_90235/350262.html" target="_blank">第二百零五章 我能試試嗎</a></span><span class="s4">第九傾城</span><span class="s5">2019-11-16</span><span class="s6">連載中</span></li>
<li><span class="s1">[<a href="/xclass/3/1.html">都市言情</a>]</span><span class="s2"><a href="/83_83534/" target="_blank">都市紅粉圖鑒</a></span><span class="s3"><a href="/83_83534/838632.html" target="_blank">第1510章 我,才是坐館龍頭台猴!</a></span><span class="s4">秋江獨(dú)釣</span><span class="s5">2019-11-16</span><span class="s6">連載中</span></li>
<li><span class="s1">[<a href="/xclass/2/1.html">武俠仙俠</a>]</span><span class="s2"><a href="/89_89635/" target="_blank">勝天傳奇</a></span><span class="s3"><a href="/89_89635/998995.html" target="_blank">第三百八十章 游歷天宮</a></span><span class="s4">騎牛者</span><span class="s5">2019-11-16</span><span class="s6">連載中</span></li>
<li><span class="s1">[<a href="/xclass/3/1.html">都市言情</a>]</span><span class="s2"><a href="/88_88085/" target="_blank">總裁爸比從天降</a></span><span class="s3"><a href="/88_88085/998993.html" target="_blank">第1748章 奈何自己是婆婆</a></span><span class="s4">一碟茴香豆</span><span class="s5">2019-11-16</span><span class="s6">連載中</span></li>
<li><span class="s1">[<a href="/xclass/1/1.html">玄幻奇幻</a>]</span><span class="s2"><a href="/89_89996/" target="_blank">太古魔帝</a></span><span class="s3"><a href="/89_89996/998988.html" target="_blank">第一千三百二十四章 魂帝</a></span><span class="s4">草根</span><span class="s5">2019-11-16</span><span class="s6">連載中</span></li>
</ul>
</div>
<div class="clear"></div>
</div>
</div>
<div class="footer">
<div class="footer_cont"><script>footer();dl();</script></div>
</div>
</body>
</html>
構(gòu)建BeautifulSoup對(duì)象
常用四種解釋器
解釋器 | 標(biāo)識(shí) | 特點(diǎn) |
---|---|---|
Python標(biāo)準(zhǔn)庫(kù) | html.parser | Python內(nèi)置,執(zhí)行速度中 |
lxml的HTML解釋器 | lxml | 速度快 |
lxml的XML解釋器 | xml | 唯一支持XML解析 |
html5lib | html5lib | 容錯(cuò)性最好,以瀏覽器方式解析 |
soup = BeautifulSoup(html, 'html.parser')
還可以解析本地html文件
soup1 = BeautifulSoup(open('index.html'))
.prettify()格式化輸出節(jié)點(diǎn)
略
通過(guò) . 獲取節(jié)點(diǎn)
title = soup.head.title
print(type(title))
print(title)
結(jié)果是
<class 'bs4.element.Tag'>
<title>經(jīng)典小說(shuō)排行榜-新筆趣閣</title>
對(duì)于名稱唯一的節(jié)點(diǎn)椅文,可以省略層級(jí)
title = soup.title
print(type(title))
print(title)
結(jié)果同樣是
<class 'bs4.element.Tag'>
<title>經(jīng)典小說(shuō)排行榜-新筆趣閣</title>
名稱不唯一的節(jié)點(diǎn),直接獲取只會(huì)獲取第一個(gè)匹配的節(jié)點(diǎn)
li = soup.li
print(li)
結(jié)果是
<li><a href="/">首頁(yè)</a></li>
find_all根據(jù)條件獲取節(jié)點(diǎn)
find_all( name , attrs , recursive , text , **kwargs )
name :查找所有名字為 name 的tag,字符串對(duì)象會(huì)被自動(dòng)忽略掉惜颇;
attrs:根據(jù)屬性查詢皆刺,使用字典類型;
text :可以搜搜文檔中的字符串內(nèi)容.與 name 參數(shù)的可選值一樣, text 參數(shù)接受 字符串 , 正則表達(dá)式 , 列表, True 凌摄;
recursive:調(diào)用tag的 find_all() 方法時(shí),Beautiful Soup會(huì)檢索當(dāng)前tag的所有子孫節(jié)點(diǎn),如果只想搜索tag的直接子節(jié)點(diǎn),可以使用參數(shù) recursive=False 羡蛾;
limit:find_all() 方法返回全部的搜索結(jié)構(gòu),如果文檔樹(shù)很大那么搜索會(huì)很慢.如果我們不需要全部結(jié)果,可以使用 limit 參數(shù)限制返回結(jié)果的數(shù)量.效果與SQL中的limit關(guān)鍵字類似,當(dāng)搜索到的結(jié)果數(shù)量達(dá)到 limit 的限制時(shí),就停止搜索返回結(jié)果;
class_ :通過(guò) class_ 參數(shù)搜索有指定CSS類名的tag锨亏,class_ 參數(shù)同樣接受不同類型的 過(guò)濾器 ,字符串,正則表達(dá)式,方法或 True痴怨。
根據(jù)標(biāo)簽名字
lis = soup.find_all(name="li")
for item in lis:
print(item)
結(jié)果是
<li><a href="/">首頁(yè)</a></li>
<li><a href="/evercase.html">永久書(shū)架</a></li>
<li><a href="/xclass/1/1.html">玄幻奇幻</a></li>
<li><a href="/xclass/2/1.html">武俠仙俠</a></li>
<li><a href="/xclass/3/1.html">都市言情</a></li>
<li><a href="/xclass/4/1.html">歷史軍事</a></li>
<li><a href="/xclass/5/1.html">科幻靈異</a></li>
<li><a href="/xclass/6/1.html">網(wǎng)游競(jìng)技</a></li>
<li><a href="/xclass/7/1.html">女頻頻道</a></li>
<li><a href="/quanben/">完本小說(shuō)</a></li>
<li><a href="/xbqgph.html">排行榜單</a></li>
<li><a href="/xbqgcase.html">臨時(shí)書(shū)架</a></li>
<li><span class="s1"><b>作品分類</b></span><span class="s2"><b>作品名稱</b></span><span class="s3"><b>最新章節(jié)</b></span><span class="s4"><b>作者</b></span><span class="s5"><b>更新時(shí)間</b></span><span class="s6"><b>狀態(tài)</b></span></li>
<li><span class="s1">[<a href="/xclass/3/1.html">都市言情</a>]</span><span class="s2"><a href="/90_90590/" target="_blank">我能舉報(bào)萬(wàn)物</a></span><span class="s3"><a href="/90_90590/361969.html" target="_blank">第九十六章 巡撫視察【第三更】</a></span><span class="s4">必火</span><span class="s5">2019-11-16</span><span class="s6">連載中</span></li>
<li><span class="s1">[<a href="/xclass/5/1.html">科幻靈異</a>]</span><span class="s2"><a href="/81_81279/" target="_blank">女戰(zhàn)神的黑包群</a></span><span class="s3"><a href="/81_81279/1140238.html" target="_blank">第3046章 惡毒女配,在線提刀45</a></span><span class="s4">二謙</span><span class="s5">2019-11-16</span><span class="s6">連載中</span></li>
<li><span class="s1">[<a href="/xclass/1/1.html">玄幻奇幻</a>]</span><span class="s2"><a href="/89_89699/" target="_blank">花崗巖之怒</a></span><span class="s3"><a href="/89_89699/999707.html" target="_blank">第一百五十二章 意外到來(lái)的斷劍</a></span><span class="s4">咱的小刀</span><span class="s5">2019-11-16</span><span class="s6">連載中</span></li>
<li><span class="s1">[<a href="/xclass/6/1.html">網(wǎng)游競(jìng)技</a>]</span><span class="s2"><a href="/77_77363/" target="_blank">超神機(jī)械師</a></span><span class="s3"><a href="/77_77363/1338182.html" target="_blank">1090 韭菜的自覺(jué)</a></span><span class="s4">齊佩甲</span><span class="s5">2019-11-16</span><span class="s6">連載中</span></li>
<li><span class="s1">[<a href="/xclass/2/1.html">武俠仙俠</a>]</span><span class="s2"><a href="/59_59644/" target="_blank">無(wú)量真途</a></span><span class="s3"><a href="/59_59644/3199234.html" target="_blank">第六百三十二章 突然出現(xiàn)的神智</a></span><span class="s4">燕十千</span><span class="s5">2019-11-16</span><span class="s6">連載中</span></li>
<li><span class="s1">[<a href="/xclass/5/1.html">科幻靈異</a>]</span><span class="s2"><a href="/88_88061/" target="_blank">我的細(xì)胞監(jiān)獄</a></span><span class="s3"><a href="/88_88061/999706.html" target="_blank">第四百五十九章 白霧</a></span><span class="s4">穿黃衣的阿肥</span><span class="s5">2019-11-16</span><span class="s6">連載中</span></li>
<li><span class="s1">[<a href="/xclass/2/1.html">武俠仙俠</a>]</span><span class="s2"><a href="/88_88375/" target="_blank">前任無(wú)雙</a></span><span class="s3"><a href="/88_88375/999705.html" target="_blank">第三百章 事急速辦</a></span><span class="s4">躍千愁</span><span class="s5">2019-11-16</span><span class="s6">連載中</span></li>
<li><span class="s1">[<a href="/xclass/2/1.html">武俠仙俠</a>]</span><span class="s2"><a href="/90_90719/" target="_blank">元陽(yáng)道君</a></span><span class="s3"><a href="/90_90719/361968.html" target="_blank">第四十章 洞開(kāi)</a></span><span class="s4">劍扼虛空</span><span class="s5">2019-11-16</span><span class="s6">連載中</span></li>
<li><span class="s1">[<a href="/xclass/4/1.html">歷史軍事</a>]</span><span class="s2"><a href="/88_88151/" target="_blank">逆成長(zhǎng)巨星</a></span><span class="s3"><a href="/88_88151/999704.html" target="_blank">655:不是辦法的辦法</a></span><span class="s4">葛洛夫街兄弟</span><span class="s5">2019-11-16</span><span class="s6">連載中</span></li>
<li><span class="s1">[<a href="/xclass/4/1.html">歷史軍事</a>]</span><span class="s2"><a href="/89_89303/" target="_blank">承包大明</a></span><span class="s3"><a href="/89_89303/999703.html" target="_blank">第一百九十三章 真會(huì)玩</a></span><span class="s4">南希北慶</span><span class="s5">2019-11-16</span><span class="s6">連載中</span></li>
根據(jù)標(biāo)簽屬性
屬性和值以字典形式傳入
lis = soup.find_all(attrs={"class":"s2"})
for item in lis:
print(item)
結(jié)果是
<span class="s2"><b>作品名稱</b></span>
<span class="s2"><a href="/90_90590/" target="_blank">我能舉報(bào)萬(wàn)物</a></span>
<span class="s2"><a href="/81_81279/" target="_blank">女戰(zhàn)神的黑包群</a></span>
<span class="s2"><a href="/89_89699/" target="_blank">花崗巖之怒</a></span>
<span class="s2"><a href="/77_77363/" target="_blank">超神機(jī)械師</a></span>
<span class="s2"><a href="/59_59644/" target="_blank">無(wú)量真途</a></span>
<span class="s2"><a href="/88_88061/" target="_blank">我的細(xì)胞監(jiān)獄</a></span>
<span class="s2"><a href="/88_88375/" target="_blank">前任無(wú)雙</a></span>
<span class="s2"><a href="/90_90719/" target="_blank">元陽(yáng)道君</a></span>
<span class="s2"><a href="/88_88151/" target="_blank">逆成長(zhǎng)巨星</a></span>
<span class="s2"><a href="/89_89303/" target="_blank">承包大明</a></span>
限制搜索范圍
find_all 方法會(huì)搜索當(dāng)前標(biāo)簽的所有子孫節(jié)點(diǎn),如果只想搜索直接子節(jié)點(diǎn),可以使用參數(shù) recursive=False
遍歷獲取子節(jié)點(diǎn)
.contents獲取所有子節(jié)點(diǎn)
以列表形式返回所有子節(jié)點(diǎn)器予,要注意浪藻,列表里面還會(huì)摻雜 '\n'
ul = soup.ul
print(ul)
print(ul.contents)
結(jié)果是
<ul>
<li><a href="/">首頁(yè)</a></li>
<li><a href="/evercase.html">永久書(shū)架</a></li>
<li><a href="/xclass/1/1.html">玄幻奇幻</a></li>
<li><a href="/xclass/2/1.html">武俠仙俠</a></li>
<li><a href="/xclass/3/1.html">都市言情</a></li>
<li><a href="/xclass/4/1.html">歷史軍事</a></li>
<li><a href="/xclass/5/1.html">科幻靈異</a></li>
<li><a href="/xclass/6/1.html">網(wǎng)游競(jìng)技</a></li>
<li><a href="/xclass/7/1.html">女頻頻道</a></li>
<li><a href="/quanben/">完本小說(shuō)</a></li>
<li><a href="/xbqgph.html">排行榜單</a></li>
<li><a href="/xbqgcase.html">臨時(shí)書(shū)架</a></li>
</ul>
['\n', <li><a href="/">首頁(yè)</a></li>, '\n', <li><a href="/evercase.html">永久書(shū)架</a></li>, '\n', <li><a href="/xclass/1/1.html">玄幻奇幻</a></li>, '\n', <li><a href="/xclass/2/1.html">武俠仙俠</a></li>, '\n', <li><a href="/xclass/3/1.html">都市言情</a></li>, '\n', <li><a href="/xclass/4/1.html">歷史軍事</a></li>, '\n', <li><a href="/xclass/5/1.html">科幻靈異</a></li>, '\n', <li><a href="/xclass/6/1.html">網(wǎng)游競(jìng)技</a></li>, '\n', <li><a href="/xclass/7/1.html">女頻頻道</a></li>, '\n', <li><a href="/quanben/">完本小說(shuō)</a></li>, '\n', <li><a href="/xbqgph.html">排行榜單</a></li>, '\n', <li><a href="/xbqgcase.html">臨時(shí)書(shū)架</a></li>, '\n']
.children獲取所有子節(jié)點(diǎn)
返回一個(gè)list生成器對(duì)象
ul = soup.ul
print(ul.children)
print(list(ul.children))
結(jié)果是
['\n', <li><a href="/">首頁(yè)</a></li>, '\n', <li><a href="/evercase.html">永久書(shū)架</a></li>, '\n', <li><a href="/xclass/1/1.html">玄幻奇幻</a></li>, '\n', <li><a href="/xclass/2/1.html">武俠仙俠</a></li>, '\n', <li><a href="/xclass/3/1.html">都市言情</a></li>, '\n', <li><a href="/xclass/4/1.html">歷史軍事</a></li>, '\n', <li><a href="/xclass/5/1.html">科幻靈異</a></li>, '\n', <li><a href="/xclass/6/1.html">網(wǎng)游競(jìng)技</a></li>, '\n', <li><a href="/xclass/7/1.html">女頻頻道</a></li>, '\n', <li><a href="/quanben/">完本小說(shuō)</a></li>, '\n', <li><a href="/xbqgph.html">排行榜單</a></li>, '\n', <li><a href="/xbqgcase.html">臨時(shí)書(shū)架</a></li>, '\n']
.descendants遍歷所有子孫節(jié)點(diǎn)
ul = soup.ul
for item in ul.descendants:
print(item)
結(jié)果是(中間很多'\n'空行我刪掉了)
<li><a href="/">首頁(yè)</a></li>
<a href="/">首頁(yè)</a>
首頁(yè)
<li><a href="/evercase.html">永久書(shū)架</a></li>
<a href="/evercase.html">永久書(shū)架</a>
永久書(shū)架
<li><a href="/xclass/1/1.html">玄幻奇幻</a></li>
<a href="/xclass/1/1.html">玄幻奇幻</a>
玄幻奇幻
<li><a href="/xclass/2/1.html">武俠仙俠</a></li>
<a href="/xclass/2/1.html">武俠仙俠</a>
武俠仙俠
<li><a href="/xclass/3/1.html">都市言情</a></li>
<a href="/xclass/3/1.html">都市言情</a>
都市言情
<li><a href="/xclass/4/1.html">歷史軍事</a></li>
<a href="/xclass/4/1.html">歷史軍事</a>
歷史軍事
<li><a href="/xclass/5/1.html">科幻靈異</a></li>
<a href="/xclass/5/1.html">科幻靈異</a>
科幻靈異
<li><a href="/xclass/6/1.html">網(wǎng)游競(jìng)技</a></li>
<a href="/xclass/6/1.html">網(wǎng)游競(jìng)技</a>
網(wǎng)游競(jìng)技
<li><a href="/xclass/7/1.html">女頻頻道</a></li>
<a href="/xclass/7/1.html">女頻頻道</a>
女頻頻道
<li><a href="/quanben/">完本小說(shuō)</a></li>
<a href="/quanben/">完本小說(shuō)</a>
完本小說(shuō)
<li><a href="/xbqgph.html">排行榜單</a></li>
<a href="/xbqgph.html">排行榜單</a>
排行榜單
<li><a href="/xbqgcase.html">臨時(shí)書(shū)架</a></li>
<a href="/xbqgcase.html">臨時(shí)書(shū)架</a>
臨時(shí)書(shū)架
獲取其父節(jié)點(diǎn)
a = soup.li.a
print(a)
p = a.parent
print(p)
結(jié)果是
<a href="/">首頁(yè)</a>
<li><a href="/">首頁(yè)</a></li>
提取節(jié)點(diǎn)信息
節(jié)點(diǎn)名稱
感覺(jué)沒(méi)什么用
title = soup.title
print(title.name)
結(jié)果是
title
節(jié)點(diǎn)屬性
a = soup.li.a
print(a)
print(a.attrs) # 獲取所有屬性,返回字典形式
print(a['href'])# 獲取a節(jié)點(diǎn)的href屬性值
結(jié)果是
<a href="/">首頁(yè)</a>
{'href': '/'}
/
節(jié)點(diǎn)文本
a = soup.li.a
print(type(a.string)) # 節(jié)點(diǎn)內(nèi)文本的類型
print(a.string) # 獲取節(jié)點(diǎn)內(nèi)的文本內(nèi)容
print(a.get_text()) # 也是獲取節(jié)點(diǎn)內(nèi)的文本內(nèi)容
結(jié)果是
<class 'bs4.element.NavigableString'>
首頁(yè)
注意G琛0!如果節(jié)點(diǎn)內(nèi)文本是注釋反浓,則用string取出文本時(shí)會(huì)自動(dòng)去除注釋標(biāo)記
注釋的類型:<class 'bs4.element.Comment'>萌丈,可以通過(guò)類型判斷
遍歷獲取所有子孫節(jié)點(diǎn)中的文本
for string in soup.stripped_strings: # 去除多余空白內(nèi)容
print(repr(string))
想進(jìn)一步了解編程開(kāi)發(fā)相關(guān)知識(shí),與我一同成長(zhǎng)進(jìn)步雷则,請(qǐng)關(guān)注我的公眾號(hào)“松果倉(cāng)庫(kù)”辆雾,共同分享宅&程序員的各類資源,謝謝T屡6扔亍!