分かりやすく、使いやすく。

マッチした要素をループして処理する方法

スポンサーリンク

PyQuery でマッチした要素を for in を使ってループすることができる。

python(実行可能なサンプルコード)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
from pyquery import PyQuery
 
html_document = """
<!DOCTYPE html>
<html>
  <body>
  <h3>見出し1</h3>
  <h3>見出し2</h3>
  <h3>見出し3</h3>
  </body>
</html>
"""
 
query_document = PyQuery(html_document, parser='html')
 
# h3 タグに一致する要素をループして処理
for element in query_document("h3"):
    query_h3 = PyQuery(element)
    print(query_h3.text()) 

上記の実行結果は以下の通り。

見出し1
見出し2
見出し3 

属性の値は以下の通り attr で取得できる。

python(実行可能なサンプルコード)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
from pyquery import PyQuery
 
html_document = """
<!DOCTYPE html>
<html>
  <body>
  <a href="http://link1/">リンク1</a>
  <a href="http://link2/">リンク2</a>
  <a href="http://link3/">リンク3</a>
  </body>
</html>
"""
 
query_document = PyQuery(html_document, parser='html')
 
for element in query_document("a"):
    query_a = PyQuery(element)
    print(query_a.text())
    print(query_a.attr['href']) 
リンク1
http://link1/
リンク2
http://link2/
リンク3
http://link3/ 
スポンサーリンク
スポンサーリンク