2015-07-25 2 views
-1

Может кто-нибудь сказать мне, где применить оператор IF, если значение «0»IF заявление в рамках этого кода

, например:

24 May 2015 
Premier League 
Aston Villa 0 - Burnley 1 
6H,6A, 

выход неверно, так как не было 6H только 6A - так что для дома и на выезде мне нужно применить оператор IF, чтобы ничего не пост должен homeScore = 0

мой полный код здесь

import requests 
from bs4 import BeautifulSoup 
import csv 
import re 
from collections import OrderedDict 
import time 

def parse_page(data): 
     #Sleep to avoid excessive requests 
     time.sleep(5) 

     subsoup = BeautifulSoup(data) 
     rs = requests.get("http://www.bbc.co.uk/sport/0/football/32770767") 
     ssubsoup = BeautifulSoup(rs.content) 
     matchoverview = subsoup.find('div', attrs={'id':'match-overview'}) 
     print '--------------' 
     date = subsoup.find('div', attrs={'id':'article-sidebar'}).findNext('span').text 
     league = subsoup.find('a', attrs={'class':'secondary-nav__link'}).findNext('span').findNext('span').text 

     #HomeTeam info printing 
     homeTeam = matchoverview.find('div', attrs={'class':'team-match-details'}).findNext('span').findNext('a').text 
     homeScore = matchoverview.find('div', attrs={'class':'team-match-details'}).findNext('span').findNext('span').text 
     homeGoalScorers = [] 
     for goals in matchoverview.find('div', attrs={'class':'team-match-details'}).findNext('p').find_all('span'): 
      homeGoalScorers.append(goals.text.replace(u'\u2032', "'")) 
     homeGoals = homeGoalScorers 
     homeGoals2 = ''.join(homeGoals) 
     homeGoals3 = re.sub("[^0-9']","",homeGoals2) 
     homeGoals4 = homeGoals3.replace("'","',") 
     homeGoals5 = homeGoals4.replace("'","H") 

     #AwayTeam info printing 
     awayTeam = matchoverview.find('div', attrs={'id': 'away-team'}).find('div', attrs={'class':'team-match-details'}).findNext('span').findNext('a').text 
     awayScore = matchoverview.find('div', attrs={'id': 'away-team'}).find('div', attrs={'class':'team-match-details'}).findNext('span').findNext('span').text 
     awayGoalScorers = [] 
     for goals in matchoverview.find('div', attrs={'id': 'away-team'}).find('div', attrs={'class':'team-match-details'}).findNext('p').find_all('span'): 
      awayGoalScorers.append(goals.text.replace(u'\u2032', "'")) 
     awayGoals = awayGoalScorers 
     awayGoals2 = ''.join(awayGoals) 
     awayGoals3 = re.sub("[^0-9']","",awayGoals2) 
     awayGoals4 = awayGoals3.replace("'","',") 
     awayGoals5 = awayGoals4.replace("'","A") 

     scores = homeGoals5+awayGoals5 

     #Printouts 
     print date 
     print league 
     print '{0} {1} - {2} {3}'.format(homeTeam, homeScore, awayTeam, awayScore) 
     print scores 
     if len(homeTeam) >1: 
       with open('score.txt', 'a') as f: 
         writer = csv.writer(f) 
         writer.writerow([league,date,homeTeam,awayTeam,scores]) 

def all_league_results(): 
    r = requests.get("http://www.bbc.co.uk/sport/football/premier-league/results") 
    soup = BeautifulSoup(r.content) 

    # Save Teams 
    for link in soup.find_all("a", attrs={'class': 'report'}): 
     fullLink = 'http://www.bbc.com' + link['href'] 
     time.sleep(5) 
     subr = requests.get(fullLink) 
     parse_page(subr.text) 

def specific_game_results(url): 
    subr = requests.get(url) 
    parse_page(subr.text) 

#get specific games results 
specific_game_results('http://www.bbc.co.uk/sport/0/football/32770767') 

ответ

0

Если я понимаю, что вы хотите сделать правильно, то вы можете просто переместить результаты печати внутри, если заявление, которое проверяет, если значение homeGoals больше 0.

если homeGoals: печати баллы

если оба дома и баллы должны быть больше 0, просто добавьте другую инструкцию if.

если homeGoals: если awayGoals: печать баллов

Смежные вопросы