ImportError: Nenhum módulo denominado BeautifulSoup


86

Eu instalei o BeautifulSoup usando easy_install e tentei executar o seguinte 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()

Mas não tenho certeza por que isso está acontecendo

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

Poderia ajudar por favor. obrigado


Você configurou easy_installpara usar o Python2.7 ou a versão embutida do Python que veio com o sistema operacional que você está usando? Se você não especificou 2.7, tente fazer Python2,4 ou Python2.6
— TyrantWave

Parece que você instalou o BeautifulSoup para uma versão diferente do Python daquela que está usando para executar este script.
— Noufal Ibrahim

1
Obrigado pela sua resposta ... sim, na verdade eu preciso do easy_install para Windows de 64 bits, mas instalei um de 32 bits. easy_install para 64 bits não está disponível aqui: pypi.python.org/pypi/setuptools#files . o que devo fazer então ??
— Muhammad Imran

Respostas:


230

Tente isto from bs4 import BeautifulSoup

Isso pode ser um problema com a Beautiful Soup, versão 4 e os dias beta. Acabei de ler isso na página inicial.


Mais de um ano se passou e nada mudou :)
— Corvin

1
Para futuros usuários: em 2 de maio de 2014, esta solução ainda funciona com Python 3.4.0 e BeautifulSoup 4.3.2 no Windows 8.1
— shermanzach

1
Funciona para Windows10 também :)
— JumpMan

Esta solução também está funcionando no Google Colab. As alternativas eram problemáticas. Tive que olhar um pouco ao redor antes de encontrar isso.
— marcogemaque

21

No Ubuntu 14.04 eu instalei pelo apt-get e funcionou bem:

sudo apt-get install python-beautifulsoup

Depois é só fazer:

from BeautifulSoup import BeautifulSoup


1
O OP está usando o Windows (observe o C:\Python27caminho em seu traceback). Esta resposta é inútil para ele.
— rmunn,

2
@rmunn E quanto a todos aqueles usuários Linux (como eu)? Eu editei a resposta. Obrigado pelo -1 ...
— Caumons de

9

Tente isso, o meu funcionou dessa maneira. Para obter algum dado da tag basta substituir o "a" pela tag desejada.

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

você pode importar bs4 em vez de BeautifulSoup. Como o BS4 é um módulo integrado, nenhuma instalação adicional é necessária.

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

Se você quiser solicitar, use o módulo de solicitações. pedido está usando urllib, requestsmódulos. mas eu pessoalmente recomendo usar o requestsmódulo em vez deurllib

instalação do módulo para usar:

$ pip install requests

Veja como usar o módulo de solicitações:

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

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

1
bs4não é um módulo embutido.
— wim

1

Primeiro instale o comando de escrita bonito da versão 4. da sopa na janela do terminal:

pip install beautifulsoup4

em seguida, importe a biblioteca BeutifulSoup


0

se você tem duas versões do python, talvez minha situação possa ajudá-lo

esta é a minha situação

1-> mac osx

2-> Eu tenho duas versões python, (1) padrão do sistema versão 2.7 (2) versão 3.6 instalada manualmente

3-> instalei o beautifulsoup4 com sudo pip install beautifulsoup4

4-> eu executo o arquivo python com python3 /XXX/XX/XX.py

então esta situação 3 e 4 são a parte chave, eu instalei beautifulsoup4 com "pip" mas este módulo foi instalado para python verison 2.7, e eu executei o arquivo python com "python3". então você deve instalar beautifulsoup4 para o python 3.6;

com o sudo pip3 install beautifulsoup4você pode instalar o módulo para o python 3.6


0

se você instalou desta forma (se não, instalando desta forma):

pip install beautifulsoup4

e se você usou este código (se não, use este código):

from bs4 import BeautifulSoup

se você estiver usando o sistema Windows, verifique se há módulo, pode salvar um caminho diferente do seu módulo


0

Eu tive o mesmo problema com o eclipse no Windows 10.

Instalei como recomendado na janela de comando do windows (cmd) com:

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

BeautifulSoup foi instalado assim no meu diretório python:

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

Depois de copiar manualmente as pastas bs4 e EGG-INFO para a pasta site-packages, tudo começou a funcionar, também o exemplo:

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"))
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.