Извлечение таблиц с разных сайтов с BeautifulSoup в петле - PullRequest
0 голосов
/ 11 июля 2019

Я извлек таблицу с сайта с помощью BeautifulSoup.Теперь я хочу сохранить этот процесс в цикле с несколькими разными URL: s.Если это возможно, я хотел бы извлечь эти таблицы в разные документы Excel или на разные листы внутри документа.

Я пытался поместить код в цикл и добавлял df

from bs4 import BeautifulSoup
import requests 
import pandas as pd

xl = pd.ExcelFile(r'path/to/file.xlsx')
link = xl.parse('Sheet1') 

#this is what I can't figure out
for i in range(0,10):
    try:
        url = link['Link'][i]

        html = requests.get(url).content

        df_list = pd.read_html(html)

        soup = BeautifulSoup(html,'lxml')
        table = soup.select_one('table:contains("Fees Earned")')

        df = pd.read_html(str(table))
        list1.append(df)

    except ValueError:
    print('Value')
    pass

#Not as important
a = df[0]

writer = pd.ExcelWriter('mytables.xlsx')
a.to_excel(writer,'Sheet1')
writer.save()

Я получаю 'ValueError' (таблицы не найдены) для первых девяти таблиц, и при печати mylist печатается только последняя таблица.Однако, когда я печатаю их без цикла for, по одной ссылке за раз, это работает.Я не могу добавить значение df [i], потому что оно говорит «индекс вне диапазона»

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