mi aiutate ad uscire da questa cosa?
Allego un frammento di codice che
-si collega alla pagina del fatto quotidiano contenente i links agli articoli del giornale odierno (in realtà quello di due giorni fa ma è uguale)
-fa delle sostituzioni per correggere errori nell'html
-scrive i link che mi interessano in una lista
Codice: Seleziona tutto
import mechanize, codecs, re, string, os,
from BeautifulSoup import BeautifulSoup, NavigableString
from re import findall
links = []
BASE_URL = (u'http://www.ilfattoquotidiano.it/giornale-cartaceo/?g=22-02-2011')
br = mechanize.Browser()
datalinks = br.open(BASE_URL).get_data()
datalinks = re.sub("scr\'\+\'ipt", "script", datalinks)
datalinks = re.sub('</script<', '</script><', datalinks)
datalinks = re.sub(u'\xe8','e\'',datalinks)
souplinks = BeautifulSoup(datalinks)
for anchor in souplinks.findAll('a',href=re.compile('www.ilfattoquotidiano.it/2011/02/22')):
links.append(anchor['href'])
Guardiamo ad esempio
Codice: Seleziona tutto
links[5]
u'http://www.ilfattoquotidiano.it/2011/02 ... 8/?nocache'
ovviamente se passo questo link al browser di mechanize
Codice: Seleziona tutto
data = br.open(links[5]).get_data()
KeyError: u'\xe2'
Il link corretto è
http://www.ilfattoquotidiano.it/2011/02 ... /?nocache
Sti maledetti apici, ma anche altri caratteri speciali, fanno un casino pazzesco e sul sito del fatto ne usano a iosa.
Mi date una mano ad uscirne? Grazi