ImportError: BeautifulSoup नाम का कोई मॉड्यूल नहीं


85

मैंने 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_installPython2.7, या Python के इनबिल्ट संस्करण का उपयोग करने के लिए सेट किया है, जो भी OS आप उपयोग कर रहे हैं, उसके साथ आया था? यदि आपने 2.7 निर्दिष्ट नहीं किया है, तो Python2,4 या Python2.6 करने का प्रयास करें
TyrantWave

ऐसा लगता है कि आपने इस स्क्रिप्ट को चलाने के लिए जिस उपयोग का उपयोग कर रहे हैं, उसके मुकाबले Python के किसी भिन्न संस्करण के लिए BeautifulSoup स्थापित किया है।
नौफाल इब्राहिम

1
आपके उत्तर के लिए धन्यवाद ... हाँ वास्तव में मुझे 64 बिट विंडो के लिए easy_install की आवश्यकता है, लेकिन मैंने 32 बिट स्थापित किया है। easy_install 64 बिट के लिए यहां उपलब्ध नहीं है: pypi.python.org/pypi/setuptools#files । तब मुझे क्या करना चाहिए??
मुहम्मद इमरान

जवाबों:


228

इसे इस्तेमाल करे from bs4 import BeautifulSoup

यह सुंदर सूप, संस्करण 4, और बीटा दिनों के साथ एक समस्या हो सकती है। मैं सिर्फ मुखपृष्ठ से इसे पढ़ता हूं।


एक वर्ष से अधिक समय बीत गया और कुछ भी नहीं बदला :)
कॉर्विन

1
भविष्य के उपयोगकर्ताओं के लिए: 2 मई 2014 तक, यह समाधान अभी भी विंडोज 8.1 पर पायथन 3.4.0 और ब्यूटीफुल 4.3.2 के साथ काम करता है
शरमनज़ाच

1
Windows10 के लिए भी काम करता है :)
जम्पमैन

21

Ubuntu 14.04 पर मैंने इसे एप्ट-गेट से स्थापित किया और इसने ठीक काम किया:

sudo apt-get install python-beautifulsoup

तो बस करो:

from BeautifulSoup import BeautifulSoup


ओपी विंडोज का उपयोग कर रहा है ( C:\Python27अपने ट्रेसबैक में पथ को नोट करें )। यह जवाब उसके लिए बेकार है।
rmunn

2
@rmunn और उन सभी लिनक्स उपयोगकर्ताओं (मेरे रूप में) के बारे में क्या? मैंने उत्तर संपादित किया है। -1 के लिए धन्यवाद ...
7

9

यह कोशिश करो, मेरा इस तरह से काम किया। टैग के किसी भी डेटा को प्राप्त करने के लिए बस "ए" को उस टैग के साथ बदलें जो आप चाहते हैं।

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 आयात कर सकते हैं। चूंकि 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एक अंतर्निहित मॉड्यूल नहीं है।
विम

1

पहले सुंदर सूप संस्करण स्थापित करें 4. टर्मिनल विंडो में कमांड लिखें:

pip install beautifulsoup4

फिर BeutifulSoup लाइब्रेरी आयात करें


0

यदि आपको अजगर के दो संस्करण मिले, तो शायद मेरी स्थिति आपकी मदद कर सकती है

यह मेरी स्थिति है

1 - मैक ओएक्सएक्स

2-> मेरे पास दो संस्करण अजगर हैं, (1) सिस्टम डिफ़ॉल्ट संस्करण 2.7 (2) मैन्युअल रूप से स्थापित संस्करण 3.6

3-> मैं के साथ beautifulsoup4 स्थापित किया है sudo pip install beautifulsoup4

4-> मैं अजगर फ़ाइल के साथ चलाता हूं python3 /XXX/XX/XX.py

इसलिए यह स्थिति 3 और 4 महत्वपूर्ण हिस्सा है, मैंने "पाइप" के साथ beautifulsoup4 स्थापित किया है, लेकिन यह मॉड्यूल पायथन वेरिसन 2.7 के लिए स्थापित किया गया था, और मैं "python3" के साथ पायथन फाइल चलाता हूं। तो आप अजगर 3.6 के लिए beautifulsoup4 स्थापित करना चाहिए;

साथ sudo pip3 install beautifulsoup4आप अजगर 3.6 के लिए मॉड्यूल स्थापित कर सकते हैं


0

यदि आपने इसे इस तरह स्थापित किया है (यदि आप इस तरह से स्थापित नहीं कर रहे हैं):

pip install beautifulsoup4

और यदि आपने इस कोड का उपयोग किया है (यदि आप नहीं करते हैं, तो इस कोड का उपयोग करें):

from bs4 import BeautifulSoup

यदि आप विंडोज़ सिस्टम का उपयोग कर रहे हैं, तो इसकी जाँच करें कि क्या मॉड्यूल हैं, अलग-अलग पथ को सहेज सकते हैं


0

मुझे विंडोज़ 10 पर ग्रहण के साथ भी यही समस्या थी।

मैंने इसे विंडोज़ कमांड विंडो (cmd) के साथ सिफ़ारिश की तरह स्थापित किया:

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

ब्यूटीफुल को इस तरह से स्थापित किया गया था जैसे मेरी अजगर निर्देशिका में:

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

मैन्युअल रूप से bs4 और EGG-INFO फ़ोल्डरों को साइट-पैकेज फ़ोल्डर में कॉपी करने के बाद सब कुछ काम करने लगा, उदाहरण भी:

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 Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.