Почему в моем коде BeautifulSoup появляется пустой фрейм данных? - PullRequest
0 голосов
/ 08 марта 2020

Я пытаюсь почистить таблицу на странице википедии, и я не могу заставить свой код BeautifulSoup работать - он продолжает появляться как пустой фрейм данных. Любой совет?

import requests
import pandas as pd
from bs4 import BeautifulSoup
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36'}
url = "https://en.wikipedia.org/wiki/List_of_postal_codes_of_Canada:_M"
r = requests.get(url,headers=headers)

soup = BeautifulSoup(r.content,"html.parser")
table = soup.find_all('table')[1]
rows = table.find_all('tr')
row_list = list()

for tr in rows:
    td = tr.find_all('td')
    row = [i.text for i in td]
    row_list.append(row)
df_bs = pd.DataFrame(row_list,columns=['PostalCode','Borough','Neighborhood'])
df_bs.set_index('PostalCode',inplace=True)
print(df_bs)

1 Ответ

0 голосов
/ 08 марта 2020

Вы смотрите не на тот стол. Измените эту строку:

table = soup.find_all('table')[1]

на эту:

table = soup.find('table')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...