Я хочу извлечь таблицы первых страниц сервировки на http://
Таблицы были очищены с помощью приведенного ниже кода, и они находятся в списке, импортировать urllib из bs4, импортировать BeautifulSoup
base_url = "http://"
url_list = ["{}?page={}".format(base_url, str(page)) for page in range(1, 21)]
mega = []
for url in url_list:
html = urllib.request.urlopen(url).read()
soup = BeautifulSoup(html, 'html.parser')
table = soup.find('table', {'class': 'table table-bordered table-striped table-hover'})
mega.append(table)
Поскольку это список, и он не может использовать 'soup find_all' для извлечения элементов, которые я хочу, поэтому я преобразовал их в bs4.element.Tag для дальнейшего поиска элементов
for i in mega:
trs = table.find_all('tr')[1:]
rows = list()
for tr in trs:
rows.append([td.text.replace('\n', '').replace('\xa0', '').replace('\t', '').strip().rstrip() for td in tr.find_all('td')])
rows
Строки извлекают только таблицыПоследняя страница.В чем проблема моих кодов, так что предыдущие 19 таблиц не были извлечены?Спасибо!
Длина двух предметов не эквивалентна. Я использовал i в meaga для получения i.
len(mega) = 20
len(i) = 5