ImportError: ningún módulo llamado BeautifulSoup

85

He instalado BeautifulSoup usando easy_install e intentando ejecutar el siguiente script

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

Pero no estoy seguro de por qué está pasando esto

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

Podrias ayudarme por favor. Gracias

Muhammad Imran
fuente
¿Se configuró easy_installpara usar Python2.7 o la versión incorporada de Python que venía con el sistema operativo que esté usando? Si no especificó 2.7, intente hacer Python2,4 o Python2.6
TyrantWave
Parece que instaló BeautifulSoup para una versión diferente de Python que la que está usando para ejecutar este script.
Noufal Ibrahim
1
Gracias por su respuesta ... sí, en realidad necesito easy_install para Windows de 64 bits, pero he instalado uno de 32 bits. easy_install para 64 bits no está disponible aquí: pypi.python.org/pypi/setuptools#files . ¿¿que debería hacer entonces??
Muhammad Imran

Respuestas:

228

Prueba esto from bs4 import BeautifulSoup

Esto podría ser un problema con Beautiful Soup, versión 4 y los días beta. Acabo de leer esto de la página de inicio.

James R. Clayton
fuente
Pasó más de un año y nada cambió :)
Corvin
1
Para usuarios futuros: a partir del 2 de mayo de 2014, esta solución todavía funciona con Python 3.4.0 y BeautifulSoup 4.3.2 en Windows 8.1
shermanzach
1
También funciona para Windows10 :)
JumpMan
21

En Ubuntu 14.04 lo instalé desde apt-get y funcionó bien:

sudo apt-get install python-beautifulsoup

Entonces solo haz:

from BeautifulSoup import BeautifulSoup

Caumons
fuente
El OP está usando Windows (tenga C:\Python27en cuenta la ruta en su rastreo). Esta respuesta es inútil para él.
rmunn
2
@rmunn ¿Y todos esos usuarios de Linux (como yo)? Edité la respuesta. Gracias por el -1 ...
Caumons
9

Prueba esto, el mío funcionó de esta manera. Para obtener cualquier dato de etiqueta, simplemente reemplace la "a" con la etiqueta que desee.

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
fuente
5

puede importar bs4 en lugar de BeautifulSoup. Dado que bs4 es un módulo integrado, no se requiere instalación adicional.

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

Si desea solicitar, utilice el módulo de solicitudes. solicitud está utilizando urllib, requestsmódulos. pero personalmente recomiendo usar el requestsmódulo en lugar deurllib

instalación del módulo para usar:

$ pip install requests

A continuación, le indicamos cómo utilizar el módulo de solicitudes:

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

print(res.content)
print(res.status_code)
멍개 -mung
fuente
1
bs4no es un módulo incorporado.
wim
1

Primero instale beautiful soup versión 4. escriba el comando en la ventana de terminal:

pip install beautifulsoup4

luego importe la biblioteca BeutifulSoup

Nikruti Mojidra
fuente
0

si tienes dos versiones de python, tal vez mi situación pueda ayudarte

esta es mi situación

1-> mac osx

2-> tengo dos versiones de python, (1) versión predeterminada del sistema 2.7 (2) versión 3.6 instalada manualmente

3-> he instalado el beautifulsoup4 con sudo pip install beautifulsoup4

4-> ejecuto el archivo python con python3 /XXX/XX/XX.py

así que esta situación 3 y 4 son la parte clave, instalé beautifulsoup4 con "pip" pero este módulo se instaló para python verison 2.7, y ejecuté el archivo python con "python3". por lo que debería instalar beautifulsoup4 para python 3.6;

con el sudo pip3 install beautifulsoup4puedes instalar el módulo para python 3.6

Jeffery Ma
fuente
0

si lo instaló de esta manera (si no, instale de esta manera):

pip install beautifulsoup4

y si usó este código (si no, use este código):

from bs4 import BeautifulSoup

Si usa el sistema Windows, verifique si hay un módulo, podría guardar una ruta diferente a su módulo

Recep Büyükfırat
fuente
0

Tuve el mismo problema con eclipse en Windows 10.

Lo instalé como se recomienda en la ventana de comandos de Windows (cmd) con:

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

BeautifulSoup se instaló así en mi directorio de Python:

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

Después de copiar manualmente las carpetas bs4 y EGG-INFO en la carpeta site-packages, todo comenzó a funcionar, también el ejemplo:

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
fuente