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
python
beautifulsoup
Muhammad Imran
fonte
fonte
easy_install
para 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.6Respostas:
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.
fonte
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
fonte
C:\Python27
caminho em seu traceback). Esta resposta é inútil para ele.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
fonte
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
,requests
módulos. mas eu pessoalmente recomendo usar orequests
módulo em vez deurllib
instalação do módulo para usar:
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)
fonte
bs4
não é um módulo embutido.Primeiro instale o comando de escrita bonito da versão 4. da sopa na janela do terminal:
em seguida, importe a biblioteca BeutifulSoup
fonte
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 beautifulsoup4
você pode instalar o módulo para o python 3.6fonte
se você instalou desta forma (se não, instalando desta forma):
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
fonte
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"))
fonte