BeautifulSoup4 no Ubuntu 14.04 com Python 2.7.6

1

Eu instalei o bs4 usando

apt-get install python-bs4

Quando tento executar um script:

import urllib2
import bs4
url = "http://rads.stackoverflow.com/amzn/click/B007C9N4H8"
web_page = urllib2.urlopen(url)
page_text = web_page.read()
soup = bs4.BeautifulSoup(page_text)
print soup.title.string'

Eu recebo este erro:

Traceback (most recent call last):
  File "./bs4.py", line 4, in <module>
    import bs4
  File "/home/pbmac/tmp/bs4.py", line 8, in <module>
    soup = bs4.BeautifulSoup(page_text)
AttributeError: 'module' object has no attribute 'BeautifulSoup'

AINDA - quando eu executo direetly de dentro do python:

Python 2.7.6 (default, Mar 22 2014, 22:59:56) 
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import urllib2
>>> import bs4
>>> url = "http://rads.stackoverflow.com/amzn/click/B007C9N4H8"
>>> web_page = urllib2.urlopen(url)
>>> page_text = web_page.read()
>>> soup = bs4.BeautifulSoup(page_text)
>>> print soup.title.string
Amazon.com: The Muppets (2011): Jason Segel, Amy Adams, Chris Cooper, Rashida Jones: Amazon Instant Video

Qual é a resposta correta?

POR QUE é executado diretamente do python - mas NÃO como um arquivo separado?

Obrigado pat

    
por Pat McClanahan 10.01.2015 / 21:56

1 resposta

1

Você nomeou seu arquivo bs4.py . Portanto, o Python importa esse arquivo em vez do módulo bs4 e gera um erro, pois o arquivo não contém nada chamado BeautifulSoup .

Use outro nome para o seu arquivo.

    
por Florian Diesch 10.01.2015 / 22:01