ImportError: Немає модуля з назвою BeautifulSoup


85

Я встановив 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

Не могли б ви допомогти. Дякую


Ви налаштували easy_installвикористовувати Python2.7 або вбудовану версію Python, яка постачається з будь-якою ОС, яку ви використовуєте? Якщо ви не вказали 2.7, спробуйте виконати Python2,4 або Python2.6
— TyrantWave

Схоже, ви встановили BeautifulSoup для іншої версії Python, відмінної від тієї, яку ви використовуєте для запуску цього сценарію.
— Ноуфал Ібрагім

1
Дякую за відповідь ... так, насправді мені потрібна програма easy_install для 64-бітових вікон, але я встановив 32-бітну. easy_install для 64 біт тут недоступний: pypi.python.org/pypi/setuptools#files . що мені тоді робити ??
— Мухаммед Імран

Відповіді:


228

Спробуйте це from bs4 import BeautifulSoup

Це може бути проблемою з Beautiful Soup, версія 4, та бета-днями. Я щойно прочитав це на домашній сторінці.


Минув більше року, і нічого не змінилося :)
— Корвін,

1
Для майбутніх користувачів: станом на 2 травня 2014 р. Це рішення все ще працює з Python 3.4.0 та BeautifulSoup 4.3.2 у Windows 8.1
— shermanzach

1
Працює і для Windows10 :)
— JumpMan

21

На Ubuntu 14.04 я встановив його з apt-get, і він працював нормально:

sudo apt-get install python-beautifulsoup

Тоді просто виконайте:

from BeautifulSoup import BeautifulSoup


Операційна програма використовує Windows (зверніть увагу на C:\Python27шлях у його зворотному відстеженні). Ця відповідь для нього марна.
— rmunn

2
@rmunn А як щодо всіх тих користувачів Linux (як я)? Я відредагував відповідь. Дякую за -1 ...
— Каумонс

9

Спробуй це, шахта працювала так. Щоб отримати будь-які дані тегу, просто замініть "a" потрібним тегом.

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

5

Ви можете імпортувати 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)

1
bs4не є вбудованим модулем.
— wim

1

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

pip install beautifulsoup4

потім імпортуйте бібліотеку BeutifulSoup


0

якщо у вас є дві версії python, можливо, моя ситуація може вам допомогти

це моя ситуація

1-> mac osx

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


0

якщо ви встановили його таким чином (якщо ні, то встановлюєте таким чином):

pip install beautifulsoup4

і якщо ви використовували його цей код (якщо ні, використовуйте цей код):

from bs4 import BeautifulSoup

якщо ви використовуєте систему Windows, перевірте, чи є модуль, може збережений інший шлях його модуля


0

У мене була така сама проблема із затемненням у 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-пакети все почало працювати, також приклад:

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"))
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.