[BOOK]ライブラリ--pyqueryを解析

CSSセレクタ

図1に示すように、初期化

HTML = ''」
の<div> 
    <UL> 
        <LIクラス= "項目-0">最初の項目</ LI> 
        <LIクラス= "項目1"> <a href="link2.html">第アイテム< / A> </ LI> 
        <LIクラス= "項目-0アクティブ"> <a href="link3.html"> <スパンクラス= "ボールド">第三の項目</スパン> </a>の</ LI> 
        <LIクラス= "項目-1活性"> <a href="link4.html">第項目する</a> </ LI> 
        <LIクラス= "項目-0 "> <A HREF =" link5.html" > 5番目の項目する</a> </ LI> 
    </ UL> 
</ div> 
''」

以下からのインポートpyqueryのpyquery AS PQ 
##初期化文字列の
DOC = PQ(HTML)
印刷(DOC( '李'))

## URLの初期化
= PQ(URL = 'HTTPS://cuiqingcai.com')DOCを
印刷する(DOC( 'タイトル'))

##の初期化ファイルの 
のdoc = PQ(ファイル名= 'test.htmlという ')
印刷(DOC( 'リー') )

2、CSSセレクタ

#CSSセレクタ
AS PQ pyqueryインポートpyqueryから
DOC = PQ(HTML)
ID番号、クラスを使用して##。
印刷(DOC( '#コンテナの.list李'))

 

3、ノードを見つけます

HTML = ''」
<DIV ID = "コンテナ"> 
    <ULクラス= "リスト"> 
        <LIクラス= "項目-0">最初の項目</ LI> 
        <LIクラス= "項目1"> <A HREF = "link2.html">第二項目</a>の</ LI> 
        <LIクラス= "項目-0アクティブ"> <a href="link3.html"> <スパンクラス= "ボールド"> 3番目の項目</スパン> </a>の</ LI> 
        <LIクラス= "項目-1活性"> <a href="link4.html">第項目する</a> </ LI> 
        <LIクラス= "項目-0" > <a href="link5.html"> 5番目の項目する</a> </ LI> 
    </ UL> 
</ div> 
''」

ノード##の検索
AS PQ pyqueryインポートpyqueryから
DOC = PQ(HTML)
のアイテムのDOCを=( 'リスト') アイテム)を印刷し

、すべての子孫ノードを見つけるために)(検索## 
LIS items.find =( 'A')
を印刷します(LIS)

##子供()唯一の子ノードを見つけるために
items.children = LIS( 'アクティブ')
(LIS)を印刷

##親()ノードの親見つけるために、
コンテナitems.parent =()
印刷(コンテナ)


##親()祖先ノードの検索
祖先= items.parents()
を印刷します(祖先)

##兄弟()兄弟検索
リー= DOC( '-0.active項目')
印刷(li.siblingsを('。アクティブ'))

 

図4に示すように、トラバース  

以下からのインポートpyqueryのpyquery AS PQ 
DOC = PQ(HTML)
横断中のため、発電機を取得するための##の呼び出し項目()
。LIS = DOC( 'リー')の項目()
LIS中のLiのために:
    印刷(李)

 

5、コンテンツへのアクセス

インポートpyqueryのpyquery AS PQから
DOC = PQ(HTML)
= DOC( '項目0')
プリント()

ノードの##取得href属性値
## ATTR()戻り最初の結果のみ
印刷(a.attr( 'のhref'))
印刷(a.attr.href)

##すべての属性値を横断することによって得られた
アイテムのa.items()のために:
印刷(item.attr( 'のhref'))
##スペーステキストだけ離間されている複数のノードのテキストのみを取得する
印刷(a.textは())##フィフスサード商品アイテム

##内部ノードであって、ノード、第一内部ノードAへの復帰を含むすべての事項を取得しますHTMLテキスト
印刷(a.html())#<スパンクラス= "大胆"> 3番目の項目</ span>の

  

図6に示すように、ノードの動作

ノードの操作## 
##削除()

HTML = '' ' 
<DIV CLASS = "ラップ"> 
    Hello Worldの
    <P>いんちき</ P> 
</ div> 
' '' 
##を得ちょうど世界こんにちは
pyqueryからのインポートAS PQ pyqueryの
DOC = PQ(HTML)
ラップDOC =( 'ラップ')
##のp削除ノード
wrap.find( 'P')。削除()
印刷(wrap.text())

  

図7に示すように、擬似クラスセレクタ

HTML = ''」
<DIV ID = "コンテナ"> 
    <ULクラス= "リスト"> 
        <LIクラス= "項目-0">最初の項目</ LI> 
        <LIクラス= "項目1"> <A HREF = "link2.html">第二項目</a>の</ LI> 
        <LIクラス= "項目-0アクティブ"> <a href="link3.html"> <スパンクラス= "ボールド"> 3番目の項目</スパン> </a>の</ LI> 
        <LIクラス= "項目-1活性"> <a href="link4.html">第項目する</a> </ LI> 
        <LIクラス= "項目-0" > <a href="link5.html"> 5番目の項目する</a> </ LI> 
    </ UL> 
</ div> 
''」

以下からのインポートpyqueryのpyquery AS PQ 
DOC = PQ(HTML)

##第1のノードのli 
:李= DOC( 'ファースト子供李')
印刷(LI)

##最後のノードのli 
李= DOC(「李:直前に入って子供「)
印刷(LI)

##リー2ノード
DOC =リー( 'のLi:テラス、N番目(2)')
印刷(LI)

##含むノードリチウム'第2'のテキスト
のLi = DOC( 'のLi:含み(秒)')
を印刷(LI)

  

  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  

おすすめ

転載: www.cnblogs.com/motoharu/p/12557447.html