Извлечение многостраничной веб-таблицы в Excel

#python #pandas #web-scraping

#python #pandas #очистка веб-страниц

Вопрос:

У меня есть таблица, которая охватывает много страниц. Я могу извлечь информацию с указанной страницы и перенести ее в таблицу CSV. Теперь моя цель — выполнить итерацию по всем страницам и добавить ее в нижнюю часть информации предыдущей страницы. Вот код, который пока работает на одной странице:

 import requests
import pandas as pd

url = 'https://www.mineralanswers.com/oklahoma/producers?page=1'
html = requests.get(url).content
df_list = pd.read_html(html)
df = df_list[-1]
print(df)

df.to_csv('my data.csv')
  

URL-адрес страницы настраивается в «… производители? страница = 1, … производители? страница = 2 …формат producers?page = 3″поэтому я чувствую, что это, вероятно, возможно с помощью цикла, у меня просто возникают проблемы с изменением данных вместо их перезаписи.

Ответ №1:

Вот исправленный пример кода для извлечения 3 страниц и добавления их в один фрейм данных. Вы можете запустить этот код здесь онлайн.

 import requests
import pandas as pd

df = pd.DataFrame()

for page in range(1, 4):
    url = 'https://www.mineralanswers.com/oklahoma/producers?page='   str(page)
    html = requests.get(url).content
    df_list = pd.read_html(html)
    df = df.append(df_list[-1], ignore_index = True)

df.to_csv('my data.csv')