Не удается получить определенный контент из некоторых сложных элементов HTML - PullRequest
0 голосов
/ 06 декабря 2018

Я написал скрипт для анализа определенного контента с веб-страницы.Контент статичен и с помощью модуля запросов я могу их достать.Проблема заключается в том, что содержимое, которое я хочу получить, находится в пределах некоторых элементов HTML, которые не имеют стандартного формата.

Мой скрипт может получить заголовки, содержащие Mondays December 26th 2016 Horse Racing Tips и так далее.Слово Mondays и год 2016 всегда присутствуют в каждом заголовке.

Теперь я хочу взять содержимое под различными Race tips подобно Sunshine Coast Race Tips.Под каждым Mondays.

находится несколько советов расы. Один из таких советов расы:

Sunshine Coast Race Tips:

Race 1: 7, 5, 4, 3 - Winner (1) $1.30 Exacta $1.90 Trifecta $4.10
Race 2: 2, 4, 3, 8 - Winner (1) $3.40 Exacta $62.70 Trifecta $116.10 First 4 $158.80
Race 3: 4, 10, 5, 13 - 2nd and 4th - Loss

Пока это моя попытка:

import requests
from lxml.html import fromstring

url = "https://www.freehorseracingtipsaustralia.com/mondays-horse-racing-results-2016"

res = requests.get(url,headers={"User-Agent":"Mozilla/5.0"})
root = fromstring(res.text)
for item in root.xpath("//b[starts-with(.,'Mondays')]"):
    print(item.text_content())

Как мне этого добиться?

1 Ответ

0 голосов
/ 06 декабря 2018

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

for item in root.xpath('''(//div[b/font[.="Today's Race Tips:"]])[1]/following-sibling::div/b'''):
    print(item.text_content())
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...