Как отфильтровать значения, извлеченные из таблицы HTML - PullRequest
0 голосов
/ 05 августа 2020

Я хочу очистить статистику и коэффициенты с betexplorer, в частности с этого сайта https://www.betexplorer.com/soccer/russia/premier-league-2019-2020/cska-moscow-fc-tambov/8Ya3mpOC/

homeodd = driver.find_element_by_xpath("//*[contains(@id,'aodds')]").text

Я получил этот результат

CLOSING ODDS
22.07. 17:48 1.28 +0.01
OPENING ODDS
17.07. 00:07 1.27

Как мог Я очищаю только начальные шансы?

Ответы [ 2 ]

2 голосов
/ 05 августа 2020

Попробуйте подробнее c XPath, чтобы получить только начальные шансы:

xpath = '//table[starts-with(@id,"aodds")]//tr[th="Opening odds"]/following-sibling::tr'
homeodd = driver.find_element_by_xpath(xpath).text

Если вы хотите игнорировать дату, и измените значения:

xpath = '//table[starts-with(@id,"aodds")]//tr[th="Opening odds"]/following-sibling::tr/td[@class="bold"]'
0 голосов
/ 05 августа 2020

xpath, например:

//tbody[contains(@id,'aodds')]/tr[4]

Кажется, что выделяет соответствующую строку в DOM: введите описание изображения здесь

Отсюда вы можете посмотреть find_elements и распечатать каждого дочернего элемента td. (кричите, если вам нужна поддержка)

В качестве альтернативы, если у вас уже есть весь текст, вы можете просто манипулировать своей строкой. Предположим, что homeodd содержит текст, который вы публикуете:

print (homeodd.split('OPENING ODDS')[-1])

Он будет разделен вокруг вашего необходимого текста, а [-1] займет последний элемент в массиве, то есть все после открытия шансов.

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