On Sun, 18 Mar 2007 22:59:28 +0100, "A.recca" <[EMAIL PROTECTED]> wrote:
Ad esempio ho scaricato dalla rete questo script....
Mi sembra orribile quello script...
import pprint
from twisted.internet import reactor
from twisted.internet import defer
from twisted.web import client
import BeautifulSoup as bsoup
def hrefs(page):
return list(anchor.get('href') for anchor in
bsoup.BeautifulSoup(page).findAll('a'))
def crawler(urls):
deferreds = []
for url in urls:
d = client.getPage(url)
d.addCallback(lambda page: (url, hrefs(page)))
deferreds.append(d)
return defer.DeferredList(deferreds)
urls = [
"http://www.twisted.it/",
"http://www.twistedmatrix.com/",
"http://www.yahoo.com",
"http://www.digg.com",
"http://www.divmod.org/",
"http://www.virgilio.it",
"http://www.vodafone.it",
"http://www.google.com",
]
crawler(urls).addCallback(pprint.pprint).addBoth(lambda _: reactor.stop())
reactor.run()
Come ti ho detto si usa la programmazione asincrona, se non sai cosa sia
l'ideale non e` ripetere la domanda uguale a prima aggiungendo piu` linee ma
cercare cosa sia la programmazione asincrona.
_______________________________________________
Python mailing list
[email protected]
http://lists.python.it/mailman/listinfo/python