Я создаю скребок с использованием BeautifulSoup и просит, чтобы скрестил страницы сайта, чтобы получить график соответствия (и результат, если он доступен). Это то, что я до сих пор:Форматирование скребковых данных с веб-сайта (BeautifulSoup)
def getMatches(self):
url = 'http://icc-cricket.yahoo.net/match_zone/series/fixtures.php?seriesCode=ENG_WI_2012' # change seriesCode in URL for different series.
page = requests.get(url)
page_content = page.content
soup = BeautifulSoup(page_content)
result = soup.find('div', attrs={'class':'bElementBox'})
tags = result.findChildren('tr')
for elem in tags:
x = elem.getText()
print x
И эти результаты я получаю:
Date & Time (GMT)fixture
Thu, May 17, 2012 10:00 AMEngland vs West Indies
3rd TESTA full scorecard will be available shortly.Venue: Edgbaston, BirminghamResult: England won by 5 wickets
Fri, May 25, 2012 11:00 AMEngland vs West Indies
2nd TESTClick here for the full scorecardVenue: Trent Bridge, NottinghamResult: England won by 9 wickets
Thu, Jun 7, 2012 10:00 AMEngland vs West Indies
1st TESTClick here for the full scorecardVenue: Lord'sResult: Match Drawn
Sat, Jun 16, 2012 9:45 AMEngland vs West Indies
1st ODIClick here for the full scorecardVenue: The Rose Bowl, SouthamptonResult: England won by 114 runs (D/L Method)
Tue, Jun 19, 2012 9:45 AMEngland vs West Indies
2nd ODIVenue: KIA Oval
Fri, Jun 22, 2012 9:45 AMEngland vs West Indies
3rd ODIVenue: Headingley Carnegie
Sun, Jun 24, 2012 12:00 AMEngland vs West Indies
1st T20Venue: Trent Bridge, Nottingham
Теперь я хочу, чтобы классифицировать данные в каком-то определенном формате. Список диктов, каждый из которых содержит
, информация об одном матче была бы идеальной. Но я зациклился на том, как добиться этого. Выходные строки в результате имеют такие символы, как  
, и время странно устроено как AMEngland
. Также есть вопрос, что если я разделил строку с использованием символа пробела в качестве разделителя, такие страны, как Вест-Индия, с двумя словами, будут разделены, и не будет никакого единого способа проанализировать это.
Так что я могу равномерно разобрать эти данные, поэтому я могу получить форму. Kinda like:
[ {'date': match_date, 'home_team': team1, 'away_team': team2, 'venue': venue},{ same for match 2}, { match 3 }...]
Буду признателен за любую помощь. :)
Большое спасибо. Думаю, глядя на HTML весь день заставил меня немного забыть, что я могу просто использовать простое регулярное выражение. :) –