我写了一个脚本来解析网页中的某些特定内容。内容是静态的,使用请求模块我可以访问它们。问题是我希望抓取的内容在某些html元素中,而这些元素不是常规格式的。
我的脚本可以抓取的是包含Mondays December 26th 2016 Horse Racing Tips
的标题,依此类推。每个标题中始终出现单词Mondays
和年份2016
。
现在,我想在不同的 种族提示 下抓取内容,例如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())
我该如何实现?
答案 0 :(得分:2)
尝试以下代码以获取比赛提示
for item in root.xpath('''(//div[b/font[.="Today's Race Tips:"]])[1]/following-sibling::div/b'''):
print(item.text_content())