私のWebスクレーパー検索では、さまざまな数のタブラウンドが返されます。テーブルを扱うのに慣れていません。これらの表はそれぞれ3列です。最初の列の通り番号が正しいかどうかチェックします。そうであれば、その行の3番目の列からリンクを取得する必要があります。それに関するどんな考え?私のコードは明らかに機能しませんが、私がしようとしていることのアイデアを与えるべきです。私のコードは現在行ごとにデータを扱っていませんが、tdだけはtdだけです。HTMLテーブルからhrefリンクを取得するための戦略
私の理想的なコードがどのように見えるか:#マッチは、内のリンクをつかむ場合は、最初の列のストリート#は
と一致した場合に
は、最初のテーブルの行に
のチェックをグラブ3列目
#が一致しない場合は、次の表の行を確認するために移動してください
私はまだ非常にプログラミングの面白いので、私のコードは単純ではありませんが(しかし、書面が不十分ですが)面倒です。
質問
<tr>
<td class="transactionTableBodyText">5250 S RAINBOW BLVD 1001 </td>
<td class="transactionTableBodyText" align="center">SPRING VALLEY</td>
<td class="transactionTableBodyText" align="center">
<a id="DataGrid1__ctl3_HyperLink2" href="http://Sandgate.co.clark.nv.us/AssrRealProp/ParcelDetail.aspx?hdnParcel=16326214001&hdnInstance=pcl7" target="_self">163-26-214-001</a>
</td>
</tr>
私のPython的セレンコードでHTML。
td = driver.find_elements_by_css_selector("td.transactionTableBodyText")
i = 0
while i <= len(td):
try:
if StrtNum in td[i].text:
print("We matched %s!" % (StrtNum))
#This is the incorrect part where I try to get to the 'a' selector in the 3rd column from the correctly identified 1st column.
ParcelLink = td[i+2].driver.find_elements_by_css_selector('a').get_attribute('href')
print(ParcelLink)
else:
return
except:
break
i+=1
は私の最初のWebスクレイピングの実験のほとんどは、BS4で行われた美しいスープhttps://www.crummy.com/software/BeautifulSoup/bs4/doc/ – Mikael
を見てみましょう。私は問題のページで重いJSの使用のためにセレンを使用してきました。 BS4を使用して私が苦労していることに対処できるかどうかがわかります。ありがとう –