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.