私はちょうどPythonでコーディングを開始しています。私の友人は、ウェブ上の特定のデータを見つけるアプリケーションを求めました。 私はすでにかなりのウェブを見つけました。そこにはデータが含まれていますが、私は基本的な情報を見つけることができますが、それから深くすることが課題です。bs4親attrs python
<tr class=" " somethingc1="" somethingc2="" somethingc3="" data-something="1" something="1something6" something_id="6something0">
<td class="text-center td_something">
<div>
<a href="something/126" target="_blank">Super String of Something</a>
</div>
</td>
<td class="text-center">08/26 15:00</td>
<td class="text-center something_status">
<span class="something_status_something">Full</span>
</td>
</tr>
<tr class=" " somethingc1="" somethingc2="" somethingc3="" data-something="0" something="1something4" something_id="6something7">
<td class="text-center td_something">
<div>
<a href="something/146" target="_blank">Super String of Something</a>
</div>
</td>
<td class="text-center">05/26 15:00</td>
<td class="text-center something_status">
<span class="something_status_something"></span>
</td>
</tr>
私が今やりたいことだけ、親のデータ-何か=「1」の場合とない場合の日付文字列を見つけることです:私は、例示的なコードに達しているのPython 3.4でBS4を使用しながら、
=「0」
データ-何か私は、すべての日付をスクラップすることができます
soup.find_all(lambda tag: tag.name == 'td' and tag.get('class') == ['text-center'] and not tag.has_attr('style'))
が、それは親をチェックしません。それが私が試した理由です:
def KieMeWar(tag):
return tag.name == 'td' and tag.parent.name == 'tr' and tag.parent.attrs == {"data-something": "1"} #and tag.get('class') == ['text-center'] and not tag.has_attr('style')
soup.find_all(KieMeWar)
結果は空のセットです。何が間違っているのか、どのようにターゲットに到達するのですか?最も簡単な解決策を目指していますか?
P.S.これは完全なコードの典型的な部分です。つまり、ここには表示されませんが後で実行されますが、スタイルを使用しない理由です。
を抽出するための第二
td
タグをつかみます。 –