PyQuery

http://www.ruanyifeng.com/blog/2009/03/css_selectors.html

參考:https://zhuanlan.zhihu.com/p/35356276
用pyquery的使用來展示css選擇器的用法

from pyquery import PyQuery as pq

提取內容

  • 提取標簽內容年鸳,用.text()
  • 提取標簽屬性值纤勒,用.attr()
  • 提取子節(jié)點帶標簽辅髓,用.html()
from pyquery import PyQuery as pq
a = '''
<body>
    <h><a href='www.biaoti.com'>head</a></h>
    <p>段落1</p>
    <p>段落2</p>
</body>
'''

doc = pq(a)
# 提取標簽內容
print(doc('h').text()) 
print(doc('h').html()) 
print(doc('body').html()) 
print(doc('p').text()) 
print(doc('p').text().split(' ')) 
print(doc('p:nth-of-type(1)').text()) 
print(doc('body').text()) 


# 提取標簽屬性
print(doc('h a').attr('href'))
a = '''
<body>
    <h1>head</h1>
    <h2>標題2</h2>
    <h2>標題3</h2>
</body>
'''
doc = pq(a)

print(doc('h1').text()) 
print(doc('h1, h2').text()) # 表示“或”用逗號 'head 標題2 標題3'



a = '''
<body>
    <h>標題</h>
    <p id='p1'>段落1</p>
    <p id='p2'>段落2</p>
    <p class='p3'>段落3</p>
    <p class='p3' id='pp'>段落4</p>
</body>
'''

doc = pq(a)
doc('p#p1').text() # '段落1'
doc('p.p3[id]').text() # 含有id屬性
doc('p.p3#pp').text() # 使用多個屬性篩選
doc('p[class=p3][id=pp]').text()
doc('p[class=p3], p[id=p1]').text() # 或的關系
doc('p[class=p3],[id=p1]').text() # 或者只用,隔開
doc('*#p1').text() # 不指定標簽名

# 否定
doc('p:not([id])').text() # 不含有id屬性
doc('body :not(p)').text() # 選出不是p的子節(jié)點  '標題'
doc('p:not(.p3)').text() # 選出class不是p3的
doc('p[id][id!=p2]').text() # 也可以用!=逞敷,這里選擇有id且id不是p2的

# 類似正則表達式
doc('p[id^=p]').text() # 首端匹配
doc('p[id$=p]').text() # 尾端匹配
doc('p[id*=p]').text() # 包含


a = '''
<p id='p1'>段落1</p>
<p class='p3'>段落2</p>
<p class='p3'>文章</p>
<p></p>
'''

doc = pq(a)
# :contains查找內容中包含某字符串的標簽
doc('p:contains(段落1)').text() # '段落1'
doc('p:contains(段落)').text() # '段落1 段落2'
doc('p:contains("1")').text()



a = '''<title>標題</title>
<body>
    <ul class='list1'>
        <li>列表1第1項</li>
        <li>列表1第2項</li>
    </ul>
    <p class='first'>文字1</p>
    <p class='second'>文字2</p>
    <ul class='list2'>
        <li>列表2第1項</li>
        <li>列表2第2項</li>
    </ul>
</body>'''

doc = pq(a)
doc('ul:nth-of-type(2) li').text() # 選擇第二個ul下的所有l(wèi)i
doc('ul li:nth-of-type(2)').text() # 選擇每個ul中第二個li
doc('ul li:even').text() # :even取偶數(shù)  :odd取奇數(shù)(這里索引第一個是0)
doc('ul li:first').text() # :first取第一個 :last取最后一個
doc('ul li:eq(0)').text() # 還有 lt gt 索引從0開始
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市煌贴,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌蜻展,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,042評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件邀摆,死亡現(xiàn)場離奇詭異纵顾,居然都是意外死亡,警方通過查閱死者的電腦和手機栋盹,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,996評論 2 384
  • 文/潘曉璐 我一進店門施逾,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人例获,你說我怎么就攤上這事汉额。” “怎么了榨汤?”我有些...
    開封第一講書人閱讀 156,674評論 0 345
  • 文/不壞的土叔 我叫張陵蠕搜,是天一觀的道長。 經(jīng)常有香客問我收壕,道長妓灌,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,340評論 1 283
  • 正文 為了忘掉前任蜜宪,我火速辦了婚禮虫埂,結果婚禮上,老公的妹妹穿的比我還像新娘圃验。我一直安慰自己告丢,他們只是感情好,可當我...
    茶點故事閱讀 65,404評論 5 384
  • 文/花漫 我一把揭開白布损谦。 她就那樣靜靜地躺著岖免,像睡著了一般。 火紅的嫁衣襯著肌膚如雪照捡。 梳的紋絲不亂的頭發(fā)上颅湘,一...
    開封第一講書人閱讀 49,749評論 1 289
  • 那天,我揣著相機與錄音栗精,去河邊找鬼闯参。 笑死,一個胖子當著我的面吹牛悲立,可吹牛的內容都是我干的鹿寨。 我是一名探鬼主播,決...
    沈念sama閱讀 38,902評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼薪夕,長吁一口氣:“原來是場噩夢啊……” “哼脚草!你這毒婦竟也來了?” 一聲冷哼從身側響起原献,我...
    開封第一講書人閱讀 37,662評論 0 266
  • 序言:老撾萬榮一對情侶失蹤馏慨,失蹤者是張志新(化名)和其女友劉穎埂淮,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體写隶,經(jīng)...
    沈念sama閱讀 44,110評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡倔撞,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,451評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了慕趴。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片痪蝇。...
    茶點故事閱讀 38,577評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖冕房,靈堂內的尸體忽然破棺而出霹俺,到底是詐尸還是另有隱情,我是刑警寧澤毒费,帶...
    沈念sama閱讀 34,258評論 4 328
  • 正文 年R本政府宣布丙唧,位于F島的核電站,受9級特大地震影響觅玻,放射性物質發(fā)生泄漏想际。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,848評論 3 312
  • 文/蒙蒙 一溪厘、第九天 我趴在偏房一處隱蔽的房頂上張望胡本。 院中可真熱鬧,春花似錦畸悬、人聲如沸侧甫。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,726評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽披粟。三九已至,卻和暖如春冷冗,著一層夾襖步出監(jiān)牢的瞬間守屉,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,952評論 1 264
  • 我被黑心中介騙來泰國打工蒿辙, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留拇泛,地道東北人。 一個月前我還...
    沈念sama閱讀 46,271評論 2 360
  • 正文 我出身青樓思灌,卻偏偏與公主長得像俺叭,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子泰偿,可洞房花燭夜當晚...
    茶點故事閱讀 43,452評論 2 348

推薦閱讀更多精彩內容

  • 用到的組件 1熄守、通過CocoaPods安裝 2、第三方類庫安裝 3、第三方服務 友盟社會化分享組件 友盟用戶反饋 ...
    SunnyLeong閱讀 14,603評論 1 180
  • 學習筆記 原文地址:antDesignPro使用心得柠横,快速開發(fā)必備。https://www.52pojie.cn/...
    kalshen閱讀 44,649評論 8 85
  • 久違的晴天课兄,家長會牍氛。 家長大會開好到教室時,離放學已經(jīng)沒多少時間了烟阐。班主任說已經(jīng)安排了三個家長分享經(jīng)驗搬俊。 放學鈴聲...
    飄雪兒5閱讀 7,513評論 16 22
  • 今天感恩節(jié)哎,感謝一直在我身邊的親朋好友蜒茄。感恩相遇唉擂!感恩不離不棄。 中午開了第一次的黨會檀葛,身份的轉變要...
    迷月閃星情閱讀 10,556評論 0 11
  • 可愛進取玩祟,孤獨成精。努力飛翔屿聋,天堂翱翔空扎。戰(zhàn)爭美好,孤獨進取润讥。膽大飛翔转锈,成就輝煌。努力進取楚殿,遙望撮慨,和諧家園〈嘀啵可愛游走...
    趙原野閱讀 2,720評論 1 1