ImportError: нет модуля с именем BeautifulSoup

Я установил BeautifulSoup с помощью easy_install и пытаюсь запустить следующий скрипт

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

Но не уверен, почему это происходит

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

Не могли бы вы помочь. Спасибо


person Muhammad Imran    schedule 14.04.2011    source источник
comment
Вы настроили easy_install для использования Python 2.7 или встроенной версии Python, поставляемой с любой используемой вами ОС? Если вы не указали 2.7, попробуйте сделать Python2,4 или Python2.6.   -  person TyrantWave    schedule 14.04.2011
comment
Похоже, вы установили BeautifulSoup для версии Python, отличной от той, которую вы используете для запуска этого скрипта.   -  person Noufal Ibrahim    schedule 14.04.2011
comment
Спасибо за ваш ответ ... да, на самом деле мне нужна easy_install для 64-битных окон, но я установил 32-битную версию. easy_install для 64-разрядной версии недоступен здесь: pypi.python.org/pypi/setuptools#files . что мне тогда делать??   -  person Muhammad Imran    schedule 14.04.2011


Ответы (8)


Попробуйте это from bs4 import BeautifulSoup

Это может быть проблемой с Beautiful Soup версии 4 и дней бета-тестирования. Я только что прочитал это с главной страницы.

person James R. Clayton    schedule 11.06.2012
comment
Прошло больше года, а ничего не изменилось :) - person Corvin; 27.09.2013
comment
Для будущих пользователей: по состоянию на 2 мая 2014 г. это решение по-прежнему работает с Python 3.4.0 и BeautifulSoup 4.3.2 в Windows 8.1. - person shermanzach; 03.05.2014
comment
Работает и для Windows 10 :) - person ; 19.11.2015
comment
Это решение также работает в Google Colab. Альтернативы были проблематичными. Пришлось немного осмотреться, прежде чем найти это. - person marcogemaque; 04.01.2021

В Ubuntu 14.04 я установил его из apt-get, и он отлично работал:

sudo apt-get install python-beautifulsoup

Тогда просто сделайте:

from BeautifulSoup import BeautifulSoup

person Caumons    schedule 09.10.2014
comment
ОП использует Windows (обратите внимание на путь C:\Python27 в его трассировке). Этот ответ бесполезен для него. - person rmunn; 09.10.2014
comment
@rmunn А как насчет всех этих пользователей Linux (таких как я)? Я отредактировал ответ. Спасибо за -1... - person Caumons; 10.10.2014

Попробуйте это, мой работал так. Чтобы получить любые данные тега, просто замените «а» на нужный вам тег.

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
person icodekamal.com    schedule 27.01.2016

вы можете импортировать bs4 вместо BeautifulSoup. Поскольку bs4 является встроенным модулем, дополнительная установка не требуется.

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

Если вы хотите запросить, используя модуль запросов. запрос использует модули urllib, requests. но я лично рекомендую использовать модуль requests вместо urllib

установка модуля для использования:

$ pip install requests

Вот как использовать модуль запросов:

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

print(res.content)
print(res.status_code)
person 멍개-mung    schedule 06.10.2017
comment
bs4 не является встроенным модулем. - person wim; 29.12.2018

если вы установили его таким образом (если нет, установите таким образом):

pip install beautifulsoup4

и если вы использовали этот код (если нет, используйте этот код):

from bs4 import BeautifulSoup

если вы используете систему Windows, проверьте, есть ли модуль, может быть сохранен другой путь к его модулю

person Recep Büyükfırat    schedule 12.06.2020

Сначала установите красивый суп версии 4. В окне терминала напишите команду:

pip install beautifulsoup4

затем импортируйте библиотеку BeutifulSoup

person Nikruti Mojidra    schedule 19.06.2020

если у вас есть две версии python, возможно, моя ситуация может вам помочь

это моя ситуация

1-> макинтош

2-> у меня есть две версии python, (1) версия системы по умолчанию 2.7 (2) установленная вручную версия 3.6

3-> я установил BeautifulSoup4 с sudo pip install beautifulsoup4

4-> я запускаю файл Python с помощью python3 /XXX/XX/XX.py

так что эта ситуация 3 и 4 является ключевой частью, я установил beautifulsoup4 с «pip», но этот модуль был установлен для версии python 2.7, и я запускаю файл python с «python3». поэтому вы должны установить BeautifulSoup4 для Python 3.6;

с sudo pip3 install beautifulsoup4 вы можете установить модуль для python 3.6

person Jeffery Ma    schedule 16.05.2017

У меня была такая же проблема с eclipse в Windows 10.

Я установил его как рекомендацию в командном окне Windows (cmd) с помощью:

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

BeautifulSoup был установлен в моем каталоге python следующим образом:

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

После ручного копирования папок bs4 и EGG-INFO в папку site-packages все заработало, тоже пример:

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"))
person CoronaChaos    schedule 20.03.2020