Sobre a Beautiful Soup

Sobre a Beautiful Soup

por Rafael Higa -
Número de respostas: 10

Nao estou conseguindo instalar a biblioteca. sempre retorna ImportError: No module named 'bs4'
Alguma ideia?

Em resposta à Rafael Higa

Re: Sobre a Beautiful Soup

por Thiago Okada -

Você tem que instalar a biblioteca primeiro, usando ou os pacotes da sua distro ou usando o pip.

Lembrando que quem usar pacotes externos tem que criar um arquivo requirements.txt com todas as dependências do projeto, ou a gente não vai conseguir executar para testar e dar uma nota. Na descrição do EP coloquei alguns links relacionado a isso, mas existe bastante informação na internet de como gerar esses arquivos.

Outra coisa, recomendo fortemente vocês usarem o virtualenv para criarem um ambiente desenvolvimento isolado do sistema.

Em resposta à Thiago Okada

Re: Sobre a Beautiful Soup

por Fabio Brzostek Muller -

A ideia de usar o virtualenv é pra poder entregar o próprio ambiente? Ou é pra entregar apenas os arquivos .py e o requirements.txt, independente de se usar o virtualenv ou não?

Em resposta à Rafael Higa

Re: Sobre a Beautiful Soup

por Guilherme Schützer -

Eu fiz assim 

from bs4 import BeatifulSoup
Em resposta à Guilherme Schützer

Re: Sobre a Beautiful Soup

por Thiago Gomes -

Só uma observação. Se vc está de fato usando python3 vc deve instalar usando pip3, não pip, pq se não ele instala pro python (que é python2). Eu fiz assim:

pip3 install beautifulsoup4
python3
import bs4
Em resposta à Guilherme Schützer

Re: Sobre a Beautiful Soup

por Thiago Okada -

O BeatifulSoup não faz parte da biblioteca padrão do Python. Acho que isso não ficou claro na primeira postagem. Vocês tem que instalar ele separadamente usando o pip (assim como mostrado pelo Thiago Gomes)  ou os pacotes que sua distribuição oferece. Eu particularmente prefiro que vocês usem o pip e o virtualenv juntos, pois assim vocês conseguem usar o comando pip freeze > requirements.txt para gerar uma lista de dependências somente do projeto de vocês, ao invés de todas as bibliotecas do Python instaladas no sistema de vocês.

A ideia do virtualenv é vocês terem um ambiente de desenvolvimento controlado, apenas com as bibliotecas que vocês instalaram para o projeto, sem incluir as bibliotecas do sistema. Assim, ao rodar o pip freeze > requirements.txt, vocês tem uma lista somente com os pacotes usados ao invés de todos os pacotes instalados no sistema de vocês. Isso é interessante pois aí vocês tem um ambiente de desenvolvimento que é reprodutível em outras máquinas, ao invés de rodar apenas na máquina de vocês.

Vocês não precisam enviar o ambiente gerado com o virtualenv para a gente, mas para todos aqueles que usaram uma biblioteca externa do Python (como o BeautifulSoup e o Requests), vocês tem que enviar o arquivo requirements.txt. Aqueles que não enviarem esse arquivo vamos assumir que o projeto roda apenas com o biblioteca padrão, e se ele não rodar fica difícil de avaliar ;).

Em resposta à Rafael Higa

Re: Sobre a Beautiful Soup

por Rafael Higa -

Eu tentei usar o from bs4 import BeatifulSoup mas ele ainda nao  reconhece.
tb tentei le o codigo-fonte com split(), mas quando vou usar o decode('utf-8') ele responde

UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe1 in position 142: invalid continuation byte

estranhamente seu eu usar decode('utf-16') o codigo fonte fica em chines

Em resposta à Rafael Higa

Re: Sobre a Beautiful Soup

por Eric Kenji Yoshikawa -

Na página dos cardápio é possivel identificar o encode do html.

<META content="text/html; charset=iso-8859-15" http-equiv=Content-Type>

Basicamente é só trocar o "utf-8" pelo "iso-8859-15"

 

Com relação ao BeautifulSoup, caso queira realmente instalar no sistema, voce pode baixar o tar

http://www.crummy.com/software/BeautifulSoup/bs4/download/4.0/

Descompactar e executar $ python3 setup.py install

Em resposta à Eric Kenji Yoshikawa

Re: Sobre a Beautiful Soup

por Thiago Okada -

Enquanto é possível instalar diretamente usando o setup.py, eu recomendo que vocês usem o pip para se familiarizarem, pois provavelmente vocês vão precisar para os próximos EPs ;)... Além disso, a única alternativa que vocês tem para criar um arquivo requirements.txt fora usando o pip é se vocês criarem na mão (não é difícil, mas a chance de dar erro é bem maior).