我刮了cricbuzz网站查看分数和其他细节..它将显示分数与一些细节每30秒…如何自动更新,如果分数在cricbuzz网站通过ajax的变化。。。有模块吗?你知道吗
from urllib.request import urlopen
from bs4 import BeautifulSoup
import re
import time
while True:
html = urlopen("http://www.cricbuzz.com/live-cricket-scores/16478/aus-vs-nz-1st-odi-new-zealand-tour-of-australia-2016")
bsObj= BeautifulSoup(html,"html5lib")
#print(bsObj.prettify())
players=[]
detail=[]
scores =bsObj.find("span",{"class":"cb-font-20 text-bold"})
print(scores.get_text())
detail.append(scores.get_text())
status=bsObj.find("div",{"class":{"cb-text-inprogress","cb-text-lunch","cb-text-stump","cb-text-innings break","cb-text-tea"}})
print("Status: ")
print(status.get_text())
detail.append(status.get_text())
for link in bsObj.find('div', {"class":"cb-min-inf cb-col-100"}).find("div").next_siblings:
if link.a.get_text() not in players:
players.append(link.a.get_text())
players.append(link.find('div',{"class":"cb-col cb-col-10 ab text-right"}).string)
print("Players: ")
for i in players:
print(i)
detail.append(players)
print(detail)
print("-----------------------------------------------------------------------------------")
time.sleep(30)
因此,如果您愿意从
http://www.cricbuzz.com/live-cricket-scores/16478/aus-vs-nz-1st-odi-new-zealand-tour-of-australia-2016
获取实时游戏信息,那么该url就不是您想要一直请求的确切页面。你知道吗基本上如您所说,该页面是由ajax请求更新的,所以您希望遵循特定的ajax url,在本例中是
http://push.cricbuzz.com/match-push?id=16478
,它是一个JSON就绪的对象,这有多好?你知道吗现在只需使用
json
模块来解析它并提取您想要的任何内容。你知道吗相关问题 更多 >
编程相关推荐