#python #html #beautifulsoup
Вопрос:
Я управляю магазином на eBay и хочу собрать всех участников торгов, которые участвуют в моих аукционах. Я могу видеть
- Сумма ставки
- Время подачи заявки
Однако я не могу соскрести
- Имя участников торгов
- Местонахождение Участников торгов
На картинке будет показана таблица HTML-документа, в которой показаны участники торгов, участвующие в одном из моих аукционов
Вот изображение кодов, которые я запускаю
Я использую записную книжку jupyter для запуска своих кодов. Это код, который я использую
'results = soup.find('table', {'class':'app-bid-history__table'}).find('tbody').find_all('span')'
[Частный список с наивысшей ценой — личности участников торгов защищены, Частный список с наивысшей ценой — личности участников торгов защищены, Участник с наивысшей ценой, $47.00, $47.00, 27 Июля 2021 года в 6:59:53 вечера PDT, 27 Июля 2021 года в 6:59:53 вечера PDT,
Как вы можете видеть, имя и местоположение Участника торгов не отображаются, но вы можете увидеть его в HTML-документе. Какой код мне нужно запустить?
Ответ №1:
- Возможно , вам потребуется проверить свой синтаксический анализатор: если вы используете
'lxml'
, попробуйте'Html.parser'
или'html5lib'
посмотрите, работает ли что-либо из этого.напр.
soup = BeautifulSoup(webpage, 'html.parser')
- Добавьте еще один интервал: Из изображения кажется, что все соответствующие значения находятся
lt;spangt;
внутри другогоlt;spangt;
. Добавьте передlt;spangt;
и затемfind_all lt;spangt;
.напр.
.find('span')find_all('span')
- Если они не работают, вам, возможно, потребуется выполнить поиск
lt;divgt;
по классам отдельно:Определите
.find('tbody')
как отдельное значение, затем попробуйте,x = tbody.find('div', {'class':'textual-display-item'})
а затемy = x.find_all('span')
.
Комментарии:
1. Я вставляю другое изображение кодов, которые я запускаю, это то, что вы имели в виду, когда добавляли промежутки?
2. ‘x = результаты.найдите(‘div’,{‘класс’ : ‘текстовый элемент отображения’})’ ‘y = x.find_all(‘span’)’ вот что показывает, я думаю, что понял. [lt;spangt;lt;!—F#10—gt;lt;span class=»cc-text-spans—BOLD»gt;lt;span class=»clipped»gt;Кто больше заплатитlt;/spangt;частный список — претендентов личность защищеныlt;/spangt;lt;!—F/—gt;lt;/spangt;, lt;span class=»cc-text-spans—BOLD»gt;lt;span class=»clipped»gt;Кто больше заплатитlt;/spangt;частный список — претендентов личность защищенаlt;/spangt;, lt;span class=»clipped»gt;высокую ценуlt;/spangt;]