ImportError: Kein Modul namens BeautifulSoup


82

Ich habe BeautifulSoup mit easy_install installiert und versucht, das folgende Skript auszuführen

from BeautifulSoup import BeautifulSoup
import re

doc = ['<html><head><title>Page title</title></head>',
       '<body><p id="firstpara" align="center">This is paragraph <b>one</b>.',
       '<p id="secondpara" align="blah">This is paragraph <b>two</b>.',
       '</html>']
soup = BeautifulSoup(''.join(doc))

print soup.prettify()

Aber nicht sicher, warum das passiert

Traceback (most recent call last):
  File "C:\Python27\reading and writing xml file from web1.py", line 49, in <module>
    from BeautifulSoup import BeautifulSoup
ImportError: No module named BeautifulSoup

Kannst du bitte helfen. Vielen Dank


Haben Sie easy_installPython2.7 oder die integrierte Version von Python eingerichtet, die mit dem von Ihnen verwendeten Betriebssystem geliefert wurde? Wenn Sie nicht 2.7 angegeben haben, versuchen Sie Python2,4 oder Python2.6
TyrantWave

Sieht so aus, als hätten Sie BeautifulSoup für eine andere Version von Python installiert als die, mit der Sie dieses Skript ausführen.
Noufal Ibrahim

1
Vielen Dank für Ihre Antwort ... Ja, eigentlich brauche ich easy_install für 64-Bit-Fenster, aber ich habe 32-Bit-Windows installiert. easy_install für 64 Bit ist hier nicht verfügbar: pypi.python.org/pypi/setuptools#files . was sollte ich dann tun??
Muhammad Imran

Antworten:


225

Versuche dies from bs4 import BeautifulSoup

Dies könnte ein Problem mit Beautiful Soup, Version 4 und den Beta-Tagen sein. Ich habe das gerade von der Homepage gelesen.


Mehr als ein Jahr verging und nichts änderte sich :)
Corvin

1
Für zukünftige Benutzer:
Ab

1
Funktioniert auch für Windows10 :)
JumpMan

21

Unter Ubuntu 14.04 habe ich es von apt-get installiert und es hat gut funktioniert:

sudo apt-get install python-beautifulsoup

Dann machen Sie einfach:

from BeautifulSoup import BeautifulSoup


Das OP verwendet Windows (beachten Sie den C:\Python27Pfad in seinem Traceback). Diese Antwort ist für ihn nutzlos.
Mittwoch,

2
@rmunn Und was ist mit all diesen Linux-Benutzern (wie ich)? Ich habe die Antwort bearbeitet. Vielen Dank für die -1 ...
Caumons

8

Versuchen Sie dies, Mine hat so funktioniert. Um Daten des Tags zu erhalten, ersetzen Sie einfach das "a" durch das gewünschte Tag.

from bs4 import BeautifulSoup as bs
import urllib

url="http://currentaffairs.gktoday.in/month/current-affairs-january-2015"

soup = bs(urllib.urlopen(url))
for link in soup.findAll('a'):
        print link.string

5

Sie können bs4 anstelle von BeautifulSoup importieren. Da bs4 ein integriertes Modul ist, ist keine zusätzliche Installation erforderlich.

from bs4 import BeautifulSoup
import re

doc = ['<html><head><title>Page title</title></head>',
       '<body><p id="firstpara" align="center">This is paragraph <b>one</b>.',
       '<p id="secondpara" align="blah">This is paragraph <b>two</b>.',
       '</html>']
soup = BeautifulSoup(''.join(doc))

print soup.prettify()

Wenn Sie anfordern möchten, verwenden Sie das Anforderungsmodul. Anfrage verwendet urllib, requestsModule. aber ich persönlich empfehle die Verwendung von requestsModul anstelle vonurllib

Modulinstallation zur Verwendung von:

$ pip install requests

So verwenden Sie das Anforderungsmodul:

import requests as rq
res = rq.get('http://www.example.com')

print(res.content)
print(res.status_code)

1
bs4ist kein eingebautes Modul.
wim

0

Wenn Sie zwei Versionen von Python haben, könnte Ihnen meine Situation vielleicht helfen

Das ist meine Situation

1-> mac osx

2-> Ich habe zwei Versionen Python, (1) System Standardversion 2.7 (2) manuell installierte Version 3.6

3-> ich habe die beautifulsoup4 mit installiert sudo pip install beautifulsoup4

4-> Ich führe die Python-Datei mit python3 /XXX/XX/XX.py

Also diese Situation 3 und 4 sind der Schlüsselteil, ich habe beautifulsoup4 mit "pip" installiert, aber dieses Modul wurde für Python Version 2.7 installiert, und ich führe die Python-Datei mit "Python3" aus. Sie sollten also beautifulsoup4 für Python 3.6 installieren.

Mit dem können sudo pip3 install beautifulsoup4Sie das Modul für Python 3.6 installieren


0

Wenn Sie es auf diese Weise installiert haben (wenn nicht, installieren Sie es auf diese Weise):

pip install beautifulsoup4

und wenn Sie diesen Code verwendet haben (wenn nicht, verwenden Sie diesen Code):

from bs4 import BeautifulSoup

Wenn Sie ein Windows-System verwenden, überprüfen Sie, ob ein Modul vorhanden ist. Möglicherweise wird ein anderer Pfad für das Modul gespeichert


0

Ich hatte das gleiche Problem mit Eclipse unter Windows 10.

Ich habe es wie empfohlen über das Windows-Befehlsfenster (cmd) installiert mit:

C:\Users\NAMEOFUSER\AppData\Local\Programs\Python\beautifulsoup4-4.8.2\setup.py install 

BeautifulSoup wurde wie folgt in meinem Python-Verzeichnis installiert:

C:\Users\NAMEOFUSE\AppData\Local\Programs\Python\Python38\Lib\site-packages\beautifulsoup4-4.8.2-py3.8.egg

Nach dem manuellen Kopieren der Ordner bs4 und EGG-INFO in den Ordner site-packages begann alles zu funktionieren, auch das Beispiel:

from bs4 import BeautifulSoup


html = """
    <html>
        <body>
            <p> Ich bin ein Absatz!</p>
        </body>
    </html>
"""
print(html)


soup = BeautifulSoup(html, 'html.parser')

print(soup.find_all("p"))

0

Installieren Sie zuerst die schöne Suppe Version 4. Schreiben Sie den Befehl in das Terminalfenster:

pip install beautifulsoup4

Importieren Sie dann die BeutifulSoup-Bibliothek

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.