viewgit/index.php:465 Only variables should be passed by reference [2048]
viewgit/index.php:466 Non-static method GeSHi::get_language_name_from_extension() should not be called statically [2048]
# # -*- coding: utf-8 -*- # import random import urllib2 import mutex import threading import re default_page = "http://poisson.phc.unipi.it" def get_links(url): content = get_page(url) if(content == -1): return -1 links = re.findall(r"<a href=\"(\S*)\"[^>]*>",content) ret = [] for link in links: # Espando il link in modo da (speriamo!) # garantire l'unicità ret.append(expand_url(url, link)) return ret def expand_url(parent, url): """Questa funzione prende l'url della pagina parent e l'url del link e dà all'url del link una forma unica e canonica, del tipo http://www.example.com/pagina http://www.example.com/pagina.html """ ## Controllo che l'url non cominci con un punto ## nel qual caso cerchiamo di rimediare subito if url[0] == ".": if len(url) == 1: url = parent else: if(url[1] != "."): url = url[1:] ## Controlliamo prima di tutto se nell'url c'è un ## protocollo protocol = re.search(r"(\w+):", url) if protocol == None: url = parent + url return url def get_page(url): try: req = urllib2.urlopen(url) except: return -1 return req.read() class Crawler(threading.Thread): def __init__(self, startpage=default_page): threading.Thread.__init__(self) start_page = start_page def run(): # Capiamo che pagina ci serve page = start_page # Come prima cosa devo fare il parsing dei # link che ci sono nella pagina links = get_links(page)