HTMLサンプルコード
html = "<div class="update_details">
<a href="xxxx">2019</a>
<br> //注意这里有两个br标签
<br>
<a href="xxxx">2020</a>
</div>"
私たちは、第二を選択したいa标签中的内容2020
、あなたがそうすることができます
from pyquery.pyquery import PyQuery as pq
doc = pq(html)
second_a = doc(".update_details a:nth-child(2)").text()
結果は、あなたが取ることは何もないです。
なぜ?あなたは順序はこのだと思うので。
- まず外観
所有a标签
- 第二の削除
a标签
オーダーの事実はこれです:
- すべての検索
class="update_details"
サブ要素を - 削除する
第二个
サブ要素を 判断
2番目の子要素は、あなたの子要素には、いない場合にも、それがテキストを取得していないことを文句を言わないことを与えられていません
正常に動作させます
n的值应该是4
from pyquery.pyquery import PyQuery as pq
doc = pq(html)
second_a = doc(".update_details a:nth-child(4)").text()
nth-child(n)
ピットがあり、以下を参照してください
html = '<div class="update_details">
<a href="xxxx">2019</a>
<br>
<br>
<a href="xxxx">2020</a>
<div class="inner">
<a href="xxxx">2018</a>
<a href="xxxx">2018</a>
<a href="xxxx">2018</a>
<a href="xxxx">2018</a>
</div>
</div>'
これを含有する内側層があればa标签
、また、位置4に、以上の動作をします取出两个值
出てきます。
あなただけの内部を削除したい場合はa标签的值
、外部および削除すると、それを行う方法?次のステップ:
- 内部の最初の値を削除します
- 内部ラベルを削除します。
- そして、外側のラベルの内容を削除
inner_a = doc(".inner a:nth-child(4)").text() #取内部值
doc(".update_details").remove(".inner").find("a:nth-child(4)").text() #移除内部标签,再取出外部a标签的值