私は、websiteから不動産業者の名前、役職、電話番号を掻き集めるスクリプトを書こうとしています。これは、最初の30かそこらの人々のために動作しますが、エラーメッセージが起動します:PythonとBeautifulSoupを使用したWebscrape - エラーメッセージの修正方法がわからない
role = agent_role[0].text
IndexError: list index out of range
これは私のコードです:私はこの問題は私のスクリプトは上で立ち往生していることである
containers = page_soup.findAll("div",{"class":"card horizontal-split vcard"})
for container in containers:
agent_name = container.findAll("li", {"class":"agent-name"})
name = agent_name[0].text
agent_role = container.findAll("li", {"class":"agent-role"})
role = agent_role[0].text
filterfn = lambda x: 'href' in x.attrs and x['href'].startswith("tel")
phones = list(map(lambda x: x.text,filter(filterfn,container.findAll("a"))))
print("name: " + name)
print("role: " + role)
print("phones:" + repr(phones))
理解します不動産仲介人の役割は記載されていませんが、私はそれを克服して残りの代理店を続ける方法は不明です。役割がある場合の条件とはチェックすると
クリーンかつ効果的なコードが、あなたが最初の一致が必要な場合は、 'find'を使用することを検討してください –