Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

वेब स्क्रैपिंग के लिए पायथन टूल्स


कंप्यूटर विज्ञान में वेब स्क्रैपिंग का अर्थ वेबसाइटों से डेटा निकालना है। इस तकनीक का उपयोग करके वेब पर असंरचित डेटा को संरचित डेटा में बदलें।

पायथन 3 में सबसे आम वेब स्क्रैपिंग टूल्स हैं -

  • Urllib2
  • Requests
  • BeautifulSoup
  • Lxml
  • Selenium
  • MechanicalSoup

Urllib2 - यह टूल पायथन के साथ प्री-इंस्टॉल्ड आता है। यह मॉड्यूल URL निकालने के लिए उपयोग किया जाता है। urlopen() फ़ंक्शन का उपयोग करके विभिन्न प्रोटोकॉल (FTP, HTTP आदि) का उपयोग करके URL प्राप्त करना।

उदाहरण कोड

from urllib.request import urlopen
my_html = urlopen("https://www.tutorialspoint.com/")
print(my_html.read())

आउटपुट

b'

Requests - यह मॉड्यूल प्रीइंस्टॉल्ड नहीं है, हमें कमांड प्रॉम्प्ट में कमांड लाइन लिखनी होगी। Requests HTTP/1.1 को अनुरोध भेजता है।

pip install requests

उदाहरण

import requests
# URL प्राप्त करें
my_req = requests.get('https://www.tutorialspoint.com/')
print(my_req.encoding)
print(my_req.status_code)
print(my_req.elapsed)
print(my_req.url)
print(my_req.history)
print(my_req.headers['Content-Type'])

आउटपुट

UTF-8
200
0:00:00.205727
https://www.tutorialspoint.com/
[]
text/html; charset=UTF-8

BeautifulSoup - यह एक पार्सिंग लाइब्रेरी है जिसका उपयोग विभिन्न पार्सर्स में किया जाता है। पायथन की स्टैंडर्ड लाइब्रेरी BeautifulSoup के डिफ़ॉल्ट पार्सर प्रदान करती है। यह एक पार्सर ट्री बनाता है जिसका उपयोग HTML पेज से डेटा निकालने के लिए किया जाता है।

इस मॉड्यूल को स्थापित करने के लिए, हम कमांड प्रॉम्प्ट में कमांड लाइन लिखते हैं।

pip install beautifulsoup4

उदाहरण

from bs4 import BeautifulSoup
# requests इम्पोर्ट करना
import requests
# URL प्राप्त करें
my_req = requests.get("https://www.tutorialspoint.com/")
my_data = my_req.text
my_soup = BeautifulSoup(my_data)
for my_link in my_soup.find_all('a'):
    print(my_link.get('href'))

आउटपुट

https://www.tutorialspoint.com/index.htm
https://www.tutorialspoint.com/questions/index.php
... (बहुत सारे लिंक्स) ...

Lxml - यह एक पार्सिंग लाइब्रेरी है, उच्च-प्रदर्शन, प्रोडक्शन-गुणवत्ता HTML और XML पार्सिंग लाइब्रेरी। यदि हम उच्च-गुणवत्ता, अधिकतम गति चाहते हैं, तो हमें इस लाइब्रेरी का उपयोग करना होगा। इसमें कई मॉड्यूल हैं जिनके द्वारा हम वेबसाइट से डेटा निकाल सकते हैं।

स्थापित करने के लिए हम कमांड प्रॉम्प्ट में लिखते हैं

pip install lxml

उदाहरण

from lxml import etree
my_root_elem = etree.Element('html')
etree.SubElement(my_root_elem, 'head')
etree.SubElement(my_root_elem, 'title')
etree.SubElement(my_root_elem, 'body')
print(etree.tostring(my_root_elem, pretty_print=True).decode("utf-8"))

आउटपुट




<body/>
</html></pre>
<p><strong>Selenium</strong> - यह एक ऑटोमेट ब्राउज़र टूल है, इसे वेब-ड्राइवर्स के रूप में भी जाना जाता है। जब हम किसी वेबसाइट का उपयोग करते हैं, तो हम देखते हैं कि कभी-कभी हमें कुछ समय इंतजार करना पड़ता है, उदाहरण के लिए जब हम किसी बटन पर क्लिक करते हैं या पेज स्क्रॉल करते हैं, इस क्षण में सेलेनियम की आवश्यकता होती है।</p>
<p>सेलेनियम स्थापित करने के लिए हम इस कमांड का उपयोग करते हैं</p>
<p>pip install selenium</p>
<h2>उदाहरण</h2>
<pre class="prettyprint notranslate">from selenium import webdriver
my_path_to_chromedriver = '/Users/Admin/Desktop/chromedriver'
my_browser = webdriver.Chrome(executable_path=my_path_to_chromedriver)
my_url = 'https://www.tutorialspoint.com/'
my_browser.get(my_url)</pre>
<h2>आउटपुट</h2>
<p><img loading='lazy' alt='वेब स्क्रैपिंग के लिए पायथन टूल्स' src="https://in.wsxdn.com/UploadFiles_4959/202204/2022040701542865.jpg" /></p>
<p><strong>MechanicalSoup</strong> - यह वेबसाइटों के साथ इंटरैक्शन को स्वचालित करने के लिए एक और पायथन लाइब्रेरी है। इसका उपयोग करके हम स्वचालित रूप से कुकीज़ स्टोर और भेज सकते हैं, रीडायरेक्ट का पालन कर सकते हैं, और लिंक्स का पालन कर सकते हैं और फॉर्म सबमिट कर सकते हैं। यह जावास्क्रिप्ट नहीं करता है।</p>
<p>स्थापित करने के लिए हम निम्नलिखित कमांड का उपयोग कर सकते हैं</p>
<p>pip install MechanicalSoup</p>
<h2>उदाहरण</h2>
<pre class="prettyprint notranslate">import mechanicalsoup
my_browser = mechanicalsoup.StatefulBrowser()
my_value = my_browser.open("https://www.tutorialspoint.com/")
print(my_value)
my_val = my_browser.get_url()
print(my_val)
my_va = my_browser.follow_link("forms")
print(my_va)
my_value1 = my_browser.get_url()
print(my_value1)</pre>
<br/>
            </article>
            <div class="ad5">
<script language='javascript' src='/ad/w.js'></script>
            </div>
            <div id="turn-page" class="f-between">
                <div class="page up f-align">
                    <i class="prev"></i>
                   <a class='LinkPrevArticle' href='https://in.wsxdn.com/zx054r/ca548u/1005106443.html' >पायथन openpyxl मॉड्यूल का उपयोग करके एक्सेल फ़ाइल पढ़ना और लिखना</a> 
                    <span></span>
                </div>
                <div class="page down f-align">
                    <a class='LinkNextArticle' href='https://in.wsxdn.com/zx054r/ca548u/1005106445.html'  >पायथन प्रोग्राम रॉक पेपर कैंची गेम लागू करने के लिए</a> 
                    <i class="next"></i>
                    <span></span>
                </div>
             </div>
        </div>
        <aside class="box-r">
            <section class="small-nav rList">
                <p class=h4s>
                    Python
                </p>
                <ul class="f-between">
                      <li><a class='childclass' href='https://in.wsxdn.com/zx054r/us544m/' target="_self">सी प्रोग्रामिंग</a></li>
<li><a class='childclass' href='https://in.wsxdn.com/zx054r/lj545d/' target="_self">C++</a></li>
<li><a class='childclass' href='https://in.wsxdn.com/zx054r/kh546c/' target="_self">Redis</a></li>
<li><a class='childclass' href='https://in.wsxdn.com/zx054r/om547h/' target="_self">Bash प्रोग्रामिंग</a></li>
<li><a class='childclass' href='https://in.wsxdn.com/zx054r/ca548u/' target="_self">Python</a></li>
<li><a class='childclass' href='https://in.wsxdn.com/zx054r/nl549f/' target="_self">Java</a></li>
<li><a class='childclass' href='https://in.wsxdn.com/zx054r/sp550k/' target="_self">डेटाबेस</a></li>
<li><a class='childclass' href='https://in.wsxdn.com/zx054r/zw551r/' target="_self">HTML</a></li>
<li><a class='childclass' href='https://in.wsxdn.com/zx054r/ec552w/' target="_self">JavaScript</a></li>
<li><a class='childclass' href='https://in.wsxdn.com/zx054r/lj553d/' target="_self">प्रोग्रामिंग</a></li>
<li><a class='childclass' href='https://in.wsxdn.com/zx054r/tr554l/' target="_self">CSS</a></li>
<li><a class='childclass' href='https://in.wsxdn.com/zx054r/hf555z/' target="_self">Ruby</a></li>
<li><a class='childclass' href='https://in.wsxdn.com/zx054r/fd556x/' target="_self">SQL</a></li>
<li><a class='childclass' href='https://in.wsxdn.com/zx054r/wu557p/' target="_self">iOS</a></li>
<li><a class='childclass' href='https://in.wsxdn.com/zx054r/bz558t/' target="_self">Android</a></li>
<li><a class='childclass' href='https://in.wsxdn.com/zx054r/pn559h/' target="_self">MongoDB</a></li>
<li><a class='childclass' href='https://in.wsxdn.com/zx054r/ay560s/' target="_self">MySQL</a></li>
<li><a class='childclass' href='https://in.wsxdn.com/zx054r/fc561x/' target="_self">C#</a></li>
<li><a class='childclass' href='https://in.wsxdn.com/zx054r/cz565u/' target="_self">PHP</a></li>
<li><a class='childclass' href='https://in.wsxdn.com/zx054r/nl571f/' target="_self">SQL Server</a></li>
                </ul>
                <strong class="f-center">
                    <img loading='lazy' src="https://in.wsxdn.com/css/img/xiala.svg" alt="">
                </strong>
            </section>
            <aside class="rList">
                <p class=h4s>
                    Python
                </p>
                <ul>
<li>
                        <a href="https://in.wsxdn.com/zx054r/ca548u/1005103141.html" class="t-over" title="पायथन में None टुपल की जांच करें">पायथन में None टुपल की जांच करें</a>
                    </li>
<li>
                        <a href="https://in.wsxdn.com/zx054r/ca548u/1005105425.html" class="t-over" title="पायथन में CGI क्या है?">पायथन में CGI क्या है?</a>
                    </li>
<li>
                        <a href="https://in.wsxdn.com/zx054r/ca548u/1005105762.html" class="t-over" title="पायथन प्रोग्राम: स्टूज सॉर्ट">पायथन प्रोग्राम: स्टूज सॉर्ट</a>
                    </li>
<li>
                        <a href="https://in.wsxdn.com/zx054r/ca548u/1005105763.html" class="t-over" title="पायथन प्रोग्राम: एराटोस्थनीज की छलनी">पायथन प्रोग्राम: एराटोस्थनीज की छलनी</a>
                    </li>
<li>
                        <a href="https://in.wsxdn.com/zx054r/ca548u/1005105766.html" class="t-over" title="पायथन प्रोग्राम: क्विकसॉर्ट">पायथन प्रोग्राम: क्विकसॉर्ट</a>
                    </li>
<li>
                        <a href="https://in.wsxdn.com/zx054r/ca548u/1005105770.html" class="t-over" title="पायथन प्रोग्राम: मर्ज सॉर्ट">पायथन प्रोग्राम: मर्ज सॉर्ट</a>
                    </li>
<li>
                        <a href="https://in.wsxdn.com/zx054r/ca548u/1005105774.html" class="t-over" title="पायथन प्रोग्राम: हीप सॉर्ट">पायथन प्रोग्राम: हीप सॉर्ट</a>
                    </li>
<li>
                        <a href="https://in.wsxdn.com/zx054r/ca548u/1005105781.html" class="t-over" title="पायथन प्रोग्राम: रॉड काटना">पायथन प्रोग्राम: रॉड काटना</a>
                    </li>
<li>
                        <a href="https://in.wsxdn.com/zx054r/ca548u/1005105783.html" class="t-over" title="पायथन प्रोग्राम: सिक्का परिवर्तन">पायथन प्रोग्राम: सिक्का परिवर्तन</a>
                    </li>
<li>
                        <a href="https://in.wsxdn.com/zx054r/ca548u/1005105935.html" class="t-over" title="पायथन में Scrapy का उपयोग करके वेब स्क्रैपिंग कार्यान्वित करना">पायथन में Scrapy का उपयोग करके वेब स्क्रैपिंग कार्यान्वित करना</a>
                    </li>
<li>
                        <a href="https://in.wsxdn.com/zx054r/ca548u/1005105955.html" class="t-over" title="पायथन में Scrapy का उपयोग करके वेब स्क्रैपिंग कार्यान्वित करना">पायथन में Scrapy का उपयोग करके वेब स्क्रैपिंग कार्यान्वित करना</a>
                    </li>
<li>
                        <a href="https://in.wsxdn.com/zx054r/ca548u/1005106157.html" class="t-over" title="पायथन में BeautifulSoup के साथ वेब स्क्रैपिंग लागू करना">पायथन में BeautifulSoup के साथ वेब स्क्रैपिंग लागू करना</a>
                    </li>
<li>
                        <a href="https://in.wsxdn.com/zx054r/ca548u/1005106231.html" class="t-over" title="आर्टिकल स्क्रैपिंग और क्यूरेशन के लिए पायथन मॉड्यूल Newspaper">आर्टिकल स्क्रैपिंग और क्यूरेशन के लिए पायथन मॉड्यूल Newspaper</a>
                    </li>

                </ul>
            </aside>
        </aside>
    </div>
    <div class="container box4-2">
        <div class="lanmu-list f-between">
             <div class="lanmu">
                <ol>
                    <li>
                        <div class="img-block">
                            <a href="https://in.wsxdn.com/zx054r/ca548u/1005106255.html" class="i-box">
                                <img  src='/article/uploadfiles/202204/2022040701365511_S.jpg'  loading='lazy'  width='300' height='210' alt='पायथन में lxml का उपयोग करके वेब स्क्रैपिंग लागू करना'  border='0'>
                            </a>
                            <span>
                                <a href="https://in.wsxdn.com/zx054r/ca548u/1005106255.html" class="r-over r-over-2" title="पायथन में lxml का उपयोग करके वेब स्क्रैपिंग लागू करना">
                                   पायथन में lxml का उपयोग करके वेब स्क्रैपिंग लागू करना </a>
                                <p>
                                   वेब स्क्रैपिंग न केवल डेटा विज्ञान के प्रति उत्साही लोगों को उत्साहित करता है, बल्कि छात्रों या शिक्षार्थियों को भी, जो वेबसाइटों में गहराई से जाना चाहते हैं। पायथन कई वेब स्क्रैपिंग लाइब्रेरी प्रदान करता है, जिनमें शामिल हैं:

Scrapy
Urllib
BeautifulSoup
Selenium
Python Requests
LXML


हम पायथन के  </p>
                            </span>
                        </div>
                    </li>
                </ol>
            </div>
 <div class="lanmu">
                <ol>
                    <li>
                        <div class="img-block">
                            <a href="https://in.wsxdn.com/rp056j/da543v/1005136961.html" class="i-box">
                                <img  src='/article/uploadfiles/202210/2022101313273815_S.jpg'  loading='lazy'  width='300' height='210' alt='2024 के 31 सर्वश्रेष्ठ वेब स्क्रैपिंग टूल – सभी उपयोगकर्ताओं के लिए आसान, शक्तिशाली और विश्वसनीय'  border='0'>
                            </a>
                            <span>
                                <a href="https://in.wsxdn.com/rp056j/da543v/1005136961.html" class="r-over r-over-2" title="2024 के 31 सर्वश्रेष्ठ वेब स्क्रैपिंग टूल – सभी उपयोगकर्ताओं के लिए आसान, शक्तिशाली और विश्वसनीय">
                                   2024 के 31 सर्वश्रेष्ठ वेब स्क्रैपिंग टूल – सभी उपयोगकर्ताओं के लिए आसान, शक्तिशाली और विश्वसनीय </a>
                                <p>
                                   
जो लोग कोडिंग से परिचित नहीं हैं, उनके लिए वेब स्क्रैपर बनाना कठिन हो सकता है। सौभाग्य से, प्रोग्रामर और नॉन-प्रोग्रामर दोनों के लिए वेब स्क्रैपिंग सॉफ्टवेयर उपलब्ध हैं। वेब स्क्रैपिंग सॉफ्टवेयर विशेष रूप से वेबसाइटों से प्रासंगिक डेटा प्राप्त करने के लिए डिज़ाइन किया गया सॉफ्टवेयर है। ये टूल किसी  </p>
                            </span>
                        </div>
                    </li>
                </ol>
            </div>
 <div class="lanmu">
                <ol>
                    <li>
                        <div class="img-block">
                            <a href="https://in.wsxdn.com/tr051l/yw514q/1005148987.html" class="i-box">
                                <img  src='/article/uploadfiles/202212/2022120611580388_S.png'  loading='lazy'  width='300' height='210' alt='पेशेवरों के लिए शीर्ष वेब डिज़ाइन टूल: विशेषज्ञ चयन'  border='0'>
                            </a>
                            <span>
                                <a href="https://in.wsxdn.com/tr051l/yw514q/1005148987.html" class="r-over r-over-2" title="पेशेवरों के लिए शीर्ष वेब डिज़ाइन टूल: विशेषज्ञ चयन">
                                   पेशेवरों के लिए शीर्ष वेब डिज़ाइन टूल: विशेषज्ञ चयन </a>
                                <p>
                                   बाजार में कई सशुल्क और मुफ्त पेशेवर वेब डिजाइनिंग टूल उपलब्ध हैं। वे डिजाइनरों के लिए एक सहारा के रूप में कार्य करते हैं क्योंकि वे उनके कार्यों को परेशानी मुक्त और आसान बनाते हैं। जो लोग ऐसे उपयोग में आसान टूल की तलाश में हैं, उनके लिए हमने वेब डिजाइनिंग टूल की एक व्यापक सूची संकलित की है। जबकि HTM </p>
                            </span>
                        </div>
                    </li>
                </ol>
            </div>

        </div>
    </div>
    <footer>
        <section class="container f-between f-align">
            <a href="https://in.wsxdn.com" class="logo">
                <img loading='lazy' src="https://in.wsxdn.com/css/img/logo.svg" alt="कंप्यूटर">
            </a>
           <span class="f-end">
                © कॉपीराइट
                <a href="https://in.wsxdn.com">https://in.wsxdn.com</a>
                सर्वाधिकार सुरक्षित
            </span>
        </section>
    </footer>
</body>
</html>