web-dev-qa-db-fra.com

ImportError: Aucun module nommé BeautifulSoup

J'ai installé BeautifulSoup avec easy_install et j'essaie d'exécuter le script suivant

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

Mais je ne sais pas pourquoi cela se produit

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

Pourriez-vous s'il vous plaît aider . Merci

68
Muhammad Imran

Essayez ce from bs4 import BeautifulSoup

Cela pourrait être un problème avec Beautiful Soup, version 4 et les versions bêta. Je viens de lire ceci à partir de la page d'accueil. 

195
James R. Clayton

Sur Ubuntu 14.04, je l'ai installé à partir d'apt-get et cela a bien fonctionné:

Sudo apt-get install python-beautifulsoup

Alors juste faire:

from BeautifulSoup import BeautifulSoup

19
Caumons

Essayez ceci, le mien a fonctionné de cette façon. Pour obtenir des données de balises, remplacez simplement le "a" par la balise souhaitée. 

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
7
icodekamal.com

vous pouvez importer bs4 au lieu de BeautifulSoup . bs4 étant un module intégré, aucune installation supplémentaire n'est requise.

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

Si vous voulez demander, utiliser le module de requêtes . Request utilise urllib, requests modules . Mais je recommande personnellement d'utiliser requests module au lieu de urllib

module installer pour utiliser: 

$ pip install requests

Voici comment utiliser le module de requêtes:

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

print(res.content)
print(res.status_code)
3
멍개-mung

si vous avez deux versions de python, peut-être que ma situation pourrait vous aider 

c'est ma situation 

1-> mac osx 

2-> J'ai deux version python, (1) version 2.7 par défaut du système (2) version 3.6 installée manuellement 

3-> j'ai installé le beautifulsoup4 avec Sudo pip install beautifulsoup4

4-> j’exécute le fichier python avec python3 /XXX/XX/XX.py 

donc les situations 3 et 4 sont la partie clé, j’ai installé beautifulsoup4 avec "pip" mais ce module a été installé pour Python version 2.7 et j’exécute le fichier python avec "python3". vous devriez donc installer beautifulsoup4 pour le python 3.6; 

avec le Sudo pip3 install beautifulsoup4 vous pouvez installer le module pour le python 3.6 

0
Allen