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

Muhammad Imran
źródło
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.

James R. Clayton
źródło
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

Caumons
źródło
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
icodekamal.com
źródło
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)
멍개 -mung
źródło
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

Nikruti Mojidra
źródło
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

Jeffery Ma
źródło
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

Recep Büyükfırat
źródło
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"))
CoronaChaos
źródło