ImportError: brak modułu o nazwie BeautifulSoup


85

Zainstalowałem BeautifulSoup za pomocą easy_install i próbuję uruchomić następujący skrypt

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()

Ale nie wiem, dlaczego tak się dzieje

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

Czy mógłbyś mi pomóc. Dzięki


Czy skonfigurowałeś easy_installużywanie Pythona2.7 lub wbudowanej wersji Pythona, która była dostarczana z dowolnym systemem operacyjnym, którego używasz? Jeśli nie podałeś wersji 2.7, spróbuj zrobić Python2,4 lub Python2.6
— TyrantWave

Wygląda na to, że zainstalowałeś BeautifulSoup dla innej wersji Pythona niż ta, której używasz do uruchamiania tego skryptu.
— Noufal Ibrahim,

1
Dziękuję za odpowiedź ... tak naprawdę potrzebuję easy_install dla 64-bitowych okien, ale mam zainstalowany 32-bitowy. easy_install dla wersji 64-bitowej nie jest dostępna tutaj: pypi.python.org/pypi/setuptools#files . więc co powinienem zrobić??
— Muhammad Imran,

Odpowiedzi:


228

Spróbuj tego from bs4 import BeautifulSoup

Może to być problem z Beautiful Soup w wersji 4 i dniami beta. Właśnie przeczytałem to ze strony głównej.


Minął ponad rok i nic się nie zmieniło :)
— Corvin

1
Dla przyszłych użytkowników: od 2 maja 2014 to rozwiązanie nadal działa z Pythonem 3.4.0 i BeautifulSoup 4.3.2 w systemie Windows 8.1
— shermanzach

1
Działa również na Windows10 :)
— JumpMan

21

Na Ubuntu 14.04 zainstalowałem go z apt-get i działało dobrze:

sudo apt-get install python-beautifulsoup

Następnie po prostu wykonaj:

from BeautifulSoup import BeautifulSoup


OP korzysta z systemu Windows (zwróć uwagę na C:\Python27ścieżkę w jego śledzeniu wstecznym). Ta odpowiedź jest dla niego bezużyteczna.
— rmunn

2
@rmunn A co z tymi wszystkimi użytkownikami Linuksa (jak ja)? Zmieniłem odpowiedź. Dzięki za -1 ...
— Caumons

9

Spróbuj tego, mój działał w ten sposób. Aby uzyskać dane tagu, po prostu zastąp „a” odpowiednim tagiem.

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

możesz zaimportować bs4 zamiast BeautifulSoup. Ponieważ bs4 jest modułem wbudowanym, nie jest wymagana żadna dodatkowa instalacja.

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()

Jeśli chcesz złożyć wniosek, skorzystaj z modułu zgłoszeń. Żądanie korzysta urllib, requestsmodułów. ale osobiście polecam używanie requestsmodule zamiasturllib

instalacja modułu do użycia:

$ pip install requests

Oto jak używać modułu żądań:

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

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

1
bs4nie jest modułem wbudowanym.
— wim

1

Najpierw zainstaluj piękną zupę w wersji 4. wpisz polecenie w oknie terminala:

pip install beautifulsoup4

następnie zaimportuj bibliotekę BeutifulSoup


0

jeśli masz dwie wersje Pythona, może moja sytuacja mogłaby ci pomóc

to jest moja sytuacja

1-> mac osx

2-> Mam dwie wersje Pythona, (1) domyślna wersja systemu 2.7 (2) ręcznie zainstalowana wersja 3.6

3-> Zainstalowałem beautifulsoup4 z sudo pip install beautifulsoup4

4-> uruchamiam plik Pythona z rozszerzeniem python3 /XXX/XX/XX.py

więc ta sytuacja 3 i 4 są kluczową częścią, zainstalowałem beautifulsoup4 z "pip", ale ten moduł został zainstalowany dla Pythona werison 2.7 i uruchamiam plik Pythona z "python3". więc powinieneś zainstalować beautifulsoup4 dla Pythona 3.6;

za pomocą sudo pip3 install beautifulsoup4możesz zainstalować moduł dla Pythona 3.6


0

jeśli zainstalowałeś to w ten sposób (jeśli nie, instalacja w ten sposób):

pip install beautifulsoup4

a jeśli użyłeś tego kodu (jeśli nie, użyj tego kodu):

from bs4 import BeautifulSoup

jeśli używasz systemu Windows, sprawdź, czy istnieją moduły, może zapisać inną ścieżkę swojego modułu


0

Miałem ten sam problem z zaćmieniem w Windows 10.

Zainstalowałem go jak polecam przez okno poleceń Windows (cmd) z:

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

BeautifulSoup został zainstalowany w taki sposób w moim katalogu Pythona:

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

Po ręcznym skopiowaniu folderów bs4 i EGG-INFO do folderu site-packages wszystko zaczęło działać, również przykład:

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"))
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.