robobrowserでフォームの提出を行った後にウェブサイトを解析しようとするのが初めてです。正しいデータが返されます(print(browser.parsed)を実行すると表示されますが)解析中に問題が発生しています。 Webページのソースコードの関連部分は次のようになります。私はrobobrowserとbeautifulsoupを使ってWebページを解析する
in: browser.select('#t1b")
をすれば
<div id="ii">
<tr>
<td scope="row" id="t1a"> ID (ID Number)</a></td>
<td headers="t1a">1234567 </td>
</tr>
<tr>
<td scope="row" id="t1b">Participant Name</td>
<td headers="t1b">JONES, JOHN </td>
</tr>
<tr>
<td scope="row" id="t1c">Sex</td>
<td headers="t1c">MALE </td>
</tr>
<tr>
<td scope="row" id="t1d">Date of Birth</td>
<td headers="t1d">11/25/2016 </td>
</tr>
<tr>
<td scope="row" id="t1e">Race/Ethnicity</a></td>
<td headers="t1e">White </td>
</tr>
私が取得:
out: [<td id="t1b" scope="row">Inmate Name</td>]
の代わりJONES、JOHN。
私は、関連するデータを取得することができた唯一の方法はやっている:
browser.select('tr')
は、これは私がテキストと検索するために変換することができ、それぞれ「TR」で29のそれぞれのリストを返します。関連情報
x = browser.select('#ii')
soup = BeautifulSoup(x[0].text, "html.parser")
をしかし、それはすべてのタグ/ IDを失い、私はそれ内を検索する方法を見つけ出すことはできません。
また、私はBeautifulSoupオブジェクトを作成しようとしました。
'tr'を使って各要素をループさせ、文字列変数に繰り返し変換して検索することに反対するラベルではなく、実際のデータを取得する簡単な方法はありますか?
おかげ
信じられない - 本当にありがとうございました! – MikeD