Я установил использование bs4
apt-get install python-bs4
Когда я пытаюсь запустить скрипт:
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`
Я получаю эту ошибку:
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'
ВСЕ ЖЕ - когда я выполняю его direetly из 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
Который ЯВЛЯЕТСЯ я корректный ответ.
ПОЧЕМУ это работает непосредственно из Python - но НЕ как отдельный файл?
Спасибо кусочек
Вы назвали свой файл bs4.py
. Таким образом, Python импортирует тот файл вместо bs4
модуль и бросает ошибку, поскольку Ваш файл не содержит ничего позвонившего BeautifulSoup
.
Использование другое название Вашего файла.