0
をリストに出力私はトラブル私は、次を反復処理としてリストにデータを追加するが生じています:ネストされたループで同じレベルの、
import urllib
import urllib.request
from bs4 import BeautifulSoup
import pandas
def make_soup(url):
thepage = urllib.request.urlopen(url)
thepage.addheaders = [('User-Agent', 'Mozilla/5.0')]
soupdata = BeautifulSoup(thepage, 'html.parser')
return soupdata
soup = make_soup('https://www.wellstar.org/locations/pages/default.aspx')
locationdata = []
for table in soup.findAll('table', class_ = 's4-wpTopTable'):
for name in table.findAll('div', 'PurpleBackgroundHeading'):
name = name.get_text(strip = True)
for loc_type in table.findAll('h3', class_ = 'WebFont SpotBodyGreen'):
loc_type = loc_type.get_text()
for address in table.findAll('div', class_ = ['WS_Location_Address', 'WS_Location_Adddress']):
address = address.get_text(strip = True, separator = ' ')
locationdata.append([name, loc_type, address])
df = pandas.DataFrame(columns = ['name', 'loc_type', 'address'], data = locationdata)
print(df)
生産データフレームは、しかし、唯一の最後の可能な、すべての固有のアドレスを含んでいますname
に対応するテキスト。
たとえば、「WellStar Windy Hill Hospital」が病院カテゴリ/タイプ内の最後の病院であっても、すべての病院の名前として表示されます。可能であれば、私はlist.append
ソリューションを好む、私はこのプロジェクトを完成させるためにいくつかのより多くの、類似のステップを持っている。
を、これは近いように私は感じて、しかし、望ましい結果は、場所ごとにアドレスの組み合わせをloc_typeを含める必要があります。レコードごとにその情報を含めるにはどうすればいいですか? – Daniel
私はあなたのデータをリストに入れるための手順を教えましたが、ページから適切なデータを引き出していることを確認する必要があります。 – bernie