извлечь таблицу из нескольких страниц на сайте - PullRequest
0 голосов
/ 02 апреля 2020

Я хочу извлечь таблицы из следующей ссылки https://www.imei.info/carriers/ и сохранить ее в csv. Вот мой код:

for i in range(1,44):

url = 'https://www.imei.info/carriers/?page='+str(i)
html = requests.get(url).content
df_list = pd.read_html(html)
df = df_list[-1]
df.to_csv('imei.csv')

При чтении в csv отображаются данные из только последняя страница

1 Ответ

1 голос
/ 12 апреля 2020

это потому, что вы стираете предыдущую страницу каждый раз, когда пишете to_csv. То, что вы можете сделать, это извлечь все DataFrames, concat список DataFrames, а затем записать вывод в csv:

dfs = []
for i in range(1,44):
    url = 'https://www.imei.info/carriers/?page='+str(i)
    html = requests.get(url).content
    df_list = pd.read_html(html)
    dfs.append(df_list[-1])
output = pd.concat(dfs)
output.to_csv("imei.csv")
...