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)