2011-02-10 8 views
0

Il y a beaucoup d'erreur quand j'essaie d'utiliser "python feedparser"; pendant l'installation, il n'y a pas de plainte. je fais quelque chose comme ceci:erreur python feedparser installer

import feedparser 
url = "http://blogsearch.google.dk/blogsearch_feeds?" + \ 
"q=visitdenmark&output=atom" 
f = feedparser.parse(url) 

et l'erreur:

f = feedparser.parse(url) 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "/usr/local/lib/python2.6/dist-packages/feedparser.py", line 3798, in parse 
     feedparser.feed(data.decode('utf-8', 'replace')) 
    File "/usr/local/lib/python2.6/dist-packages/feedparser.py", line 1851, in feed 
     sgmllib.SGMLParser.feed(self, data) 
    File "/usr/lib/python2.6/sgmllib.py", line 104, in feed 
     self.goahead(0) 
    File "/usr/lib/python2.6/sgmllib.py", line 143, in goahead 
     k = self.parse_endtag(i) 
    File "/usr/lib/python2.6/sgmllib.py", line 320, in parse_endtag 
     self.finish_endtag(tag) 
    File "/usr/lib/python2.6/sgmllib.py", line 360, in finish_endtag 
     self.unknown_endtag(tag) 
    File "/usr/local/lib/python2.6/dist-packages/feedparser.py", line 659, in unknown_endtag 
     self.pop(prefix + suffix) 
    File "/usr/local/lib/python2.6/dist-packages/feedparser.py", line 868, in pop 
     mfresults = _parseMicroformats(output, self.baseuri, self.encoding) 
    File "/usr/local/lib/python2.6/dist-packages/feedparser.py", line 2412, in _parseMicroformats 
     p = _MicroformatsParser(htmlSource, baseURI, encoding) 
    File "/usr/local/lib/python2.6/dist-packages/feedparser.py", line 2016, in __init__ 
     self.document = BeautifulSoup.BeautifulSoup(data) 
    AttributeError: 'module' object has no attribute 'BeautifulSoup' 

audience de votre part,

+0

"importer BeautifulSoup" fonctionne-t-il dans la console python? –

Répondre

3
AttributeError: 'module' object has no attribute 'BeautifulSoup' 

Il semble que vous devez installer BeautifulSoup:

sudo apt-get install python-beautifulsoup 

PS. Vous avez installé une version de feedparse dans/usr/local. Il existe également un package Ubuntu pour Feedparser: python-feedparser. Ce n'est peut-être pas aussi nouveau, mais l'installer aurait dessiné dans toutes les dépendances pour vous.

+0

Merci pour la réponse, – user702846

0

Bon sang! Je ne vois pas cela dans feedparser 5.0.1; je suppose que BeautifulSoup est étrangement installé, ou que le code feedparser que vous utilisez a été modifié d'une manière ou d'une autre. En particulier, le code d'analyse de microformats ne devrait jamais fonctionner si BeautifulSoup n'est pas installé, donc pour atteindre ce point et ensuite trouver que le module n'a pas de classe BeautifulSoup dedans c'est ... bizarre.

Comme indiqué ci-dessus, qu'est-ce que vous obtenez lorsque vous exécutez l'interpréteur Python et tapez simplement

import BeautifulSoup 
print BeautifulSoup.__file__ 
dir(BeautifulSoup) 
BeautifulSoup.BeautifulSoup 
0

Je vais partager comment je fixe cette erreur: j'utilisais Pydev sur Eclipse IDE et l'erreur I fait était pendant l'installation de Pydev. J'ai choisi la configuration automatique pour l'interprète. Cela a abouti à l'inclusion de Python 2.7 en tant qu'interprète et a donc entraîné l'erreur.