BeautifulSoup в Python - получение n-го тега типа
У меня есть HTML-код, который содержит многоЯ в этом.
Я пытаюсь получить информацию во второй таблице. Есть ли способ сделать это без использования?soup.findAll('table')
Когда я используюsoup.findAll('table')
Я получаю ошибку:
ValueError: too many values to unpack
Есть ли способ получить n-тый тег в каком-то коде или другим способом, который не требует прохождения всех таблиц? Или я должен посмотреть, могу ли я добавить заголовки к таблицам? (лайк )
Есть также заголовки (title
) над каждой таблицей, если это поможет.
Благодарю.
РЕДАКТИРОВАТЬ
Вот'Что я думал, когда задавал вопрос:
Я распаковывал объекты в два значения, когда их было намного больше. Я думал, что это просто даст мне первые две вещи из списка, но, конечно, он продолжал давать мне ошибку, упомянутую выше. Я не знал, что возвращаемое значение было списком, и думал, что это особый объект или что-то в этом роде, и я основывал свой код на своих друзьях.
Я думал, что эта ошибка означала, что на странице было слишком много таблиц, и это не моглоЯ не мог справиться со всеми из них, поэтому я попросил способ сделать это без метода, который я использовал. Я, вероятно, должен был прекратить предполагать вещи.
Теперь я знаю, что он возвращает список, и я могу использовать его в цикле for или получить значение из него с помощьюsoup.findAll('table')[someNumber]
, Я узнал, что такое распаковка и как ее использовать. Спасибо всем, кто помог.
Надеюсь, это прояснит ситуацию, теперь, когда я знаю, что ямой вопрос имеет меньше смысла, чем когда я его задавал, поэтому я подумалЯ просто оставлю здесь записку о том, что я думаю.
РЕДАКТИРОВАТЬ 2:
Этот вопрос сейчас довольно старый, но я все еще вижу, что мне никогда не было ясно, что я делал.
Если это кому-нибудь поможет, я пытался распаковатьfindAll(...)
результаты, из которых количество я не сделаля знаю
useless_table, table_i_want, another_useless_table = soup.findAll("table");
Так как там не былоt всегда количество таблиц, которые я угадал на странице, и все значения в кортеже нужно распаковать, я получал:ValueError
ValueError: too many values to unpack
Итак, я искал способ получить вторую (или любую другую индексную) таблицу в возвращаемом кортеже, не сталкиваясь с ошибками относительно количества использованных таблиц.