county
のリストに以下のリストが表示されています。各繰り返しの結果をリスト内の項目のインデックスと共に表示すると、毎回インデックスが0になり、各ループの後にデータがリストに残っていないことがわかります。その結果、ループが完了した後にcounty
ループのインデックスを作成しようとすると、まったくデータが存在しないため、「リストのインデックスが範囲外です」というエラーが表示されます。ループを使用したPythonリストの集計
county
のリストが空だが、なぜそれが空であるのかがわかっているので、私は取得し続けている「リストの範囲外のエラー」を調べました。
target_divs
リスト内の一つのエントリを構成するHTMLソースコードは次のようになります。ここでは
<div class="school-type-list-text">
<div class="table_cell_county"><a href='/alabama/autauga-county'>Autauga County</a></div>
<div class="change_div"></div>
<div class="table_cell_other">7<span> Schools</span></div>
<div class="table_cell_other">1,587<span> Students</span></div>
<div class="table_cell_other">8%<span> Minority</span></div>
<div class="break"></div>
は私のスクリプトです:
import urllib2
from bs4 import BeautifulSoup
import pandas
import csv
page1 = 'https://www.privateschoolreview.com/alabama'
alabama = urllib2.urlopen(page1)
soup = BeautifulSoup(alabama, "lxml")
target_divs = soup.find_all("div", class_= "school-type-list-text")
for i in target_divs:
county = i.find_all("div", class_= "table_cell_county")
for i in county:
print i.text
print county.index(i)
print county
print county[0]
更新@ Software2がループカーソルを変更することをお勧めした後、しかし、私はまだ同じエラーが発生しています:
import urllib2
from bs4 import BeautifulSoup
import pandas
import csv
page1 = 'https://www.privateschoolreview.com/alabama'
alabama = urllib2.urlopen(page1)
soup = BeautifulSoup(alabama, "lxml")
target_divs = soup.find_all("div", class_= "school-type-list-text")
for div in target_divs:
counties = div.find_all("div", class_= "table_cell_county")
for county in counties:
print county.text
print counties.index(county)
print counties
次の2つを持っている ''参照がOPコードからの出力を貼り付けた – depperm
をi'というループfor':郡を移入するには、以下の方法を試してみてください。編集を控えてください。 –