python3はインデックスを使用してbs4要素の行にアクセスします

Ollie

私は、BS4オブジェクトを持っており、使用してその一部を選択findAllしてfind_next_sibling私が「兄弟」と呼ぶこの部分から、次のようなforループを使用してすべての行にアクセスします。

for cursor in sibling:
    index = sibling.index(cursor)
    print(index)          # works until here
    next_cursor = sibling[index+1]
    print(next_cursor)    # breaks with KeyError

誰かが私がここで欠けているものを知っていますか?

ビルベル

私があなたの状況を理解していると仮定すると、私はこれについてもっと簡単な方法を提案することができます。

このようなHTMLがあるとします。

<span id="first">I'm first</span>
<span>first sibling</span>
<span>second sibling</span>
<span>third sibling</span>
<span>fourth sibling</span>
<span>fifth sibling</span>

次に、最初のspan要素を見つけて、次のようなコードを使用してそのすべての兄弟を識別できます

>>> import bs4
>>> soup = bs4.BeautifulSoup(open('temp.htm').read(), 'lxml')
>>> first = soup.select('#first')
>>> first
[<span id="first">I'm first</span>]

この行は、findNextSiblingsメソッドが提供するものを表示することだけを目的としています。

>>> first[0].findNextSiblings()
[<span>first sibling</span>, <span>second sibling</span>, <span>third sibling</span>, <span>fourth sibling</span>, <span>fifth sibling</span>]

これは、最初の兄弟へのポインターを取得すると、1つのforステートメントで他のすべてを取得できることを意味します

>>> for sib in first[0].findNextSiblings():
...     sib.text
... 
'first sibling'
'second sibling'
'third sibling'
'fourth sibling'
'fifth sibling'

別の方法でfetchNextSiblingsは、上記で使用したものと同じ結果が得られます。

>>> first[0].fetchNextSiblings()
[<span>first sibling</span>, <span>second sibling</span>, <span>third sibling</span>, <span>fourth sibling</span>, <span>fifth sibling</span>]

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Amazonはbs4を使用してPython3のスクレイピングをブロックしました

分類Dev

Pythonを使用してbs4で<script>にWebスクレイピングしてアクセスする方法

分類Dev

bs4を使用してスクリプトタグのコンテンツにアクセスするにはどうすればよいですか

分類Dev

BS4はクラスごとにアイテムを検索します

分類Dev

リンクをスクレイプする方法とリンクはBS4を使用してテキストを辞書に表示します

分類Dev

配列要素のアクセスを変更して、1ベースのインデックスにします

分類Dev

bs4を使用したWebスクレイピングは、空の結果を出力します

分類Dev

bs4 / pythonを使用してヘッダータグ(つまり<h1>)の下のタグにアクセスするにはどうすればよいですか?

分類Dev

Haskell:インデックス付きレンズを使用してLinear.VまたはLinear.Matrixの個々の要素にアクセスする方法は?

分類Dev

bs4 pythonを使用したWebスクレイピング:サッカーの対戦を表示する方法

分類Dev

変数を使用してインデックスを格納する多次元配列の要素にアクセスする方法はありますか

分類Dev

要素はクラス名を共有し、Python / BS4を動的に移動します

分類Dev

Pythonとbs4を使用したデータスクレイピング

分類Dev

列挙してZipを実行し、前のインデックスにアクセスします

分類Dev

インデックスの順列に基づいたマップを使用してリストの要素にアクセスします

分類Dev

bs4を使用してテーブルの内容をスクレイプしようとしています

分類Dev

HTMLテーブルをスクレイピングしながら最後の2行を動的にスキップする:BS4 Python

分類Dev

bs4を使用してPythonでシングルページアプリケーションのWebサイトをスクレイプする方法

分類Dev

クラスまたはID属性がない場合、bs4 / pythonを使用して、ネストされたテーブルのセット内で目的のテーブルを見つけるにはどうすればよいですか?

分類Dev

データをスクレイピングし、反復ごとに1行で書き込みますBS4 python

分類Dev

Matlab:他の行列に格納されているインデックスを使用して行列要素にアクセスします

分類Dev

Pythonとbs4を使用して、特定の「td」内からすべての「a」テキストをスクレイプしようとしています

分類Dev

Swift3を使用してCoreDataのデータインデックスにアクセスする方法

分類Dev

bs4を使用してウェブスクレイピングの複雑なエッジケースを処理する方法は?

分類Dev

セレンとBS3を使用してJavaScriptをどのようにスクレイプしますか?

分類Dev

bs4 pythonを使用してスクレイピングすると、完全なHTMLはレンダリングされません

分類Dev

Pythonとbs4を使用して画像から「タイトル」をスクレイピングする

分類Dev

Web スクレイピング、Python で bs4 を使用して 2 つの同じタグからデータを抽出する方法

分類Dev

numpy.whereインデックス内の要素にアクセスします

Related 関連記事

  1. 1

    Amazonはbs4を使用してPython3のスクレイピングをブロックしました

  2. 2

    Pythonを使用してbs4で<script>にWebスクレイピングしてアクセスする方法

  3. 3

    bs4を使用してスクリプトタグのコンテンツにアクセスするにはどうすればよいですか

  4. 4

    BS4はクラスごとにアイテムを検索します

  5. 5

    リンクをスクレイプする方法とリンクはBS4を使用してテキストを辞書に表示します

  6. 6

    配列要素のアクセスを変更して、1ベースのインデックスにします

  7. 7

    bs4を使用したWebスクレイピングは、空の結果を出力します

  8. 8

    bs4 / pythonを使用してヘッダータグ(つまり<h1>)の下のタグにアクセスするにはどうすればよいですか?

  9. 9

    Haskell:インデックス付きレンズを使用してLinear.VまたはLinear.Matrixの個々の要素にアクセスする方法は?

  10. 10

    bs4 pythonを使用したWebスクレイピング:サッカーの対戦を表示する方法

  11. 11

    変数を使用してインデックスを格納する多次元配列の要素にアクセスする方法はありますか

  12. 12

    要素はクラス名を共有し、Python / BS4を動的に移動します

  13. 13

    Pythonとbs4を使用したデータスクレイピング

  14. 14

    列挙してZipを実行し、前のインデックスにアクセスします

  15. 15

    インデックスの順列に基づいたマップを使用してリストの要素にアクセスします

  16. 16

    bs4を使用してテーブルの内容をスクレイプしようとしています

  17. 17

    HTMLテーブルをスクレイピングしながら最後の2行を動的にスキップする:BS4 Python

  18. 18

    bs4を使用してPythonでシングルページアプリケーションのWebサイトをスクレイプする方法

  19. 19

    クラスまたはID属性がない場合、bs4 / pythonを使用して、ネストされたテーブルのセット内で目的のテーブルを見つけるにはどうすればよいですか?

  20. 20

    データをスクレイピングし、反復ごとに1行で書き込みますBS4 python

  21. 21

    Matlab:他の行列に格納されているインデックスを使用して行列要素にアクセスします

  22. 22

    Pythonとbs4を使用して、特定の「td」内からすべての「a」テキストをスクレイプしようとしています

  23. 23

    Swift3を使用してCoreDataのデータインデックスにアクセスする方法

  24. 24

    bs4を使用してウェブスクレイピングの複雑なエッジケースを処理する方法は?

  25. 25

    セレンとBS3を使用してJavaScriptをどのようにスクレイプしますか?

  26. 26

    bs4 pythonを使用してスクレイピングすると、完全なHTMLはレンダリングされません

  27. 27

    Pythonとbs4を使用して画像から「タイトル」をスクレイピングする

  28. 28

    Web スクレイピング、Python で bs4 を使用して 2 つの同じタグからデータを抽出する方法

  29. 29

    numpy.whereインデックス内の要素にアクセスします

ホットタグ

アーカイブ