2016-03-31 7 views
0

Ich kann eine Seite leicht kratzen, aber die andere bekomme ich Fehler ?? Ich bin nicht sicher, ob seine weil die Website eine Art von Block auf oder etwas hatWeb site Schaber wont einen meiner Links kratzen

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") ###working 
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']) 

resp = urllib2.urlopen("http://cricfree.tv/football-live-stream") ###not working 
soup = BeautifulSoup(resp, from_encoding=resp.info().getparam('charset')) 

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

Welchen Fehler bekommen Sie, und welche Zeile wird darauf geworfen? – Sam

+0

Sie erhalten wahrscheinlich 'urllib2.HTTPError: HTTP-Fehler 403: verboten '(ich bin) – jDo

Antwort

0

den User-Agent-Header Ihrer Anfrage Set

headers = { 'User-Agent' : 'Mozilla/5.0' } 
req = urllib2.Request("http://cricfree.tv/football-live-stream", None, headers) 
resp = urllib2.urlopen(req) 

auch auf dem zweiten Schleife sind Sie base_url Sie Wiederverwendung wahrscheinlich will das nicht machen.