2016-03-31 3 views
2

Я создал этот скребок, чтобы искать онлайн-потоки, чтобы сохранить все проходящие всплывающие окна.Python показать персонализированную ошибку

Как я мог сделать его возвращение «» не потоков доступны «», если поиск идет вверх пустого

import random 
from bs4 import BeautifulSoup 
import urllib2 
import re 
from urlparse import urljoin 

user_input = raw_input ("Search for Team = "); 


resp = urllib2.urlopen("http://idimsports.eu/football.html") 
soup = BeautifulSoup(resp, from_encoding=resp.info().getparam('charset')) 

base_url = "http://idimsports.eu" 
for link in soup.find_all('a', href=re.compile(''+user_input)): 
    print urljoin(base_url, link['href']) 
+3

Как бы вы определить, если поиск идет вверх пустой? И к чему вы хотите вернуть это сообщение? –

ответ

0

что об этом:

... 
links = soup.find_all('a', href=re.compile(''+user_input)) 
if links: 
    for link in links: 
     print urljoin(base_url, link['href']) 
else: 
    print "no streams available" 
0

Вы можете сохранить find_all вызов метода переменных и проверить длину этого:

import random 
from bs4 import BeautifulSoup 
import urllib2 
import re 
from urlparse import urljoin 

user_input = raw_input ("Search for Team = "); 


resp = urllib2.urlopen("http://idimsports.eu/football.html") 
soup = BeautifulSoup(resp, from_encoding=resp.info().getparam('charset')) 

base_url = "http://idimsports.eu" 
links = soup.find_all('a', href=re.compile(''+user_input)) 
if len(links) == 0: 
    print "no streams available" 
else: 
    for link in links: 
     print urljoin(base_url, link['href']) 
+0

Просто любопытно, почему вы приняли, а затем не приняли моего ответа? – heinst