每次更改页面时都会抓取页面

时间:2020-09-16 16:09:17

标签: selenium web-scraping

您好,我目前希望每次更改分数时都刮取一个诸如[https://www.tennis24.com/match/ABiALWlt/#match-statistics;0“之类的年龄。目前,我可以使用以下代码使用硒和BS进行刮擦

from selenium import webdriver
Chrom_path = r"C:\Users\Dan1\Desktop\chromedriver.exe"
driver = webdriver.Chrome(Chrom_path)
driver.get("https://www.tennis24.com/match/zVrM3ySQ/#match-statistics;0")

data = driver.find_elements_by_class_name("statTextGroup")
for d in data:
sub_data = d.find_elements_by_xpath(".//*")
assert len(sub_data)==3
for s_d in sub_data:
    print(s_d.get_attribute('class')[19:], s_d.get_attribute('innerText'))

但是我不知道如何实现自动化,因此一旦页面顶部位于此处的“医疗超时
6:6(0:0)”的分数发生变化,刮板就会刮刮新数据。不过,只有在比赛进行中而不是总是在比赛中时,才能看到监视更改。

如果您需要更多信息,请告诉我,不高兴添加它

1 个答案:

答案 0 :(得分:0)

您可以在“ scoreboard”类中循环抓取一段时间,如果此循环与该旧值不相同,则该值会更改,您可以抓取其他所需的内容。 希望对您有帮助