ImportError: нет модуля с именем BeautifulSoup - PullRequest
73 голосов
/ 14 апреля 2011

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

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

Ответы [ 5 ]

200 голосов
/ 11 июня 2012

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

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

19 голосов
/ 09 октября 2014

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

sudo apt-get install python-beautifulsoup

Затем просто выполните:

from BeautifulSoup import BeautifulSoup

8 голосов
/ 27 января 2016

Попробуй это, у меня получилось так. Чтобы получить какие-либо данные тега, просто замените «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
3 голосов
/ 06 октября 2017

вы можете импортировать 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)
0 голосов
/ 16 мая 2017

если у вас есть две версии 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 вы можете установить модуль для питона 3.6

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...