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

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

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

Python3 में सबसे आम वेब स्क्रैपिंग टूल हैं -

  • Urllib2
  • अनुरोध
  • सुंदर सूप
  • एलएक्सएमएल
  • सेलेनियम
  • मैकेनिकल सूप

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

उदाहरण कोड

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

आउटपुट

b'<!DOCTYPE html<\r\n
<!--[if IE 8]<
<html class="ie ie8"<
<![endif]--<
\r\n<!--[if IE 9]<
<html class="ie ie9"<
<![endif]-->\r\n<!--[if gt IE 9]><!--<
\r\n<html lang="en-US"<
<!--<![endif]--<
\r\n<head>\r\n<!-- Basic --<
\r\n<meta charset="utf-8"<
\r\n<title>Parallax Scrolling, Java Cryptography, YAML, Python Data Science, Java i18n, GitLab, TestRail, VersionOne, DBUtils, Common CLI, Seaborn, Ansible, LOLCODE, Current Affairs 2018, Apache Commons Collections</title<
\r\n<meta name="Description" content="Parallax Scrolling, Java Cryptography, YAML, Python Data Science, Java i18n, GitLab, TestRail, VersionOne, DBUtils, Common CLI, Seaborn, Ansible, LOLCODE, Current Affairs 2018, Intellij Idea, Apache Commons Collections, Java 9, GSON, TestLink, Inter Process Communication (IPC), Logo, PySpark, Google Tag Manager, Free IFSC Code, SAP Workflow"/<
\r\n<meta name="Keywords" content="Python Data Science, Java i18n, GitLab, TestRail, VersionOne, DBUtils, Common CLI, Seaborn, Ansible, LOLCODE, Gson, TestLink, Inter Process Communication (IPC), Logo"/<\r\n
<meta http-equiv="X-UA-Compatible" content="IE=edge">\r\n<meta name="viewport" content="width=device-width,initial-scale=1.0,user-scalable=yes">\r\n<link href="https://cdn.muicss.com/mui-0.9.39/extra/mui-rem.min.css" rel="stylesheet" type="text/css" /<\r\n
<link rel="stylesheet" href="/questions/css/home.css?v=3" /< \r\n
<script src="/questions/js/jquery.min.js"<
</script<
\r\n<script src="/questions/js/fontawesome.js"<
</script<\r\n
<script src="https://cdn.muicss.com/mui-0.9.39/js/mui.min.js"<
</script>\r\n
</head>\r\n
<body>\r\n
<!-- Start of Body Content --> \r\n
<div class="mui-appbar-home">\r\n
<div class="mui-container">\r\n
<div class="tp-primary-header mui-top-home">\r\n
<a href="https://www.tutorialspoint.com/index.htm" target="_blank" title="TutorialsPoint - Home">
<i class="fa fa-home">
</i><span>Home</span></a>\r\n
</div>\r\n
<div class="tp-primary-header mui-top-qa">\r\n
<a href="https://www.tutorialspoint.com/questions/index.php" target="_blank" title="Questions & Answers - The Best Technical Questions and Answers - TutorialsPoint"><i class="fa fa-location-arrow"></i>
<span>
Q/A</span></a>\r\n
</div>\r\n
<div class="tp-primary-header mui-top-tools">\r\n
<a href="https://www.tutorialspoint.com/online_dev_tools.htm" target="_blank" title="Tools - Online Development and Testing Tools">
<i class="fa fa-cogs"></i><span>Tools</span></a>\r\n
</div>\r\n
<div class="tp-primary-header mui-top-coding-ground">\r\n
<a href="https://www.tutorialspoint.com/codingground.htm" target="_blank" title="Coding Ground - Free Online IDE and Terminal">
<i class="fa fa-code">
</i>
<span>
Coding Ground </span>
</a> \r\n
</div>\r\n
<div class="tp-primary-header mui-top-current-affairs">\r\n
<a href="https://www.tutorialspoint.com/current_affairs/index.htm" target="_blank" title="Current Affairs - 2016, 2017 and 2018 | General Knowledge for Competitive Exams"><i class="fa fa-globe">
</i><span>Current Affairs</span>
</a>\r\n
</div>\r\n
<div class="tp-primary-header mui-top-upsc">\r\n
<a href="https://www.tutorialspoint.com/upsc_ias_exams.htm" target="_blank" title="UPSC IAS Exams Notes - TutorialsPoint"><i class="fa fa-user-tie"></i><span>UPSC Notes</span></a>\r\n
</div>\r\n
<div class="tp-primary-header mui-top-tutors">\r\n
<a href="https://www.tutorialspoint.com/tutor_connect/index.php" target="_blank" title="Top Online Tutors - Tutor Connect">
<i class="fa fa-user">
</i>
<span>Online Tutors</span>
</a>\r\n
</div>\r\n
<div class="tp-primary-header mui-top-examples">\r\n
….

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

पाइप इंस्टॉल अनुरोध

उदाहरण

import requests
# get 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

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

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

पाइप सुंदरसूप 4 स्थापित करें

उदाहरण

from bs4 import BeautifulSoup
# importing requests
import requests
# get 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
https://www.tutorialspoint.com/online_dev_tools.htm
https://www.tutorialspoint.com/codingground.htm
https://www.tutorialspoint.com/current_affairs/index.htm
https://www.tutorialspoint.com/upsc_ias_exams.htm
https://www.tutorialspoint.com/tutor_connect/index.php
https://www.tutorialspoint.com/programming_examples/
https://www.tutorialspoint.com/whiteboard.htm
https://www.tutorialspoint.com/netmeeting.php
https://www.tutorialspoint.com/articles/
https://www.tutorialspoint.com/index.htm
https://www.tutorialspoint.com/tutorialslibrary.htm
https://www.tutorialspoint.com/videotutorials/index.htm
https://store.tutorialspoint.com
https://www.tutorialspoint.com/html_online_training/index.asp
https://www.tutorialspoint.com/css_online_training/index.asp
https://www.tutorialspoint.com/3d_animation_online_training/index.asp
https://www.tutorialspoint.com/swift_4_online_training/index.asp
https://www.tutorialspoint.com/blockchain_online_training/index.asp
https://www.tutorialspoint.com/reactjs_online_training/index.asp
https://www.tutorialspoint.com/tutorialslibrary.htm
https://www.tutorialspoint.com/computer_fundamentals/index.htm
https://www.tutorialspoint.com/compiler_design/index.htm
https://www.tutorialspoint.com/operating_system/index.htm
https://www.tutorialspoint.com/data_structures_algorithms/index.htm
https://www.tutorialspoint.com/dbms/index.htm
https://www.tutorialspoint.com/data_communication_computer_network/index.htm
https://www.tutorialspoint.com/academic_tutorials.htm
https://www.tutorialspoint.com/html/index.htm
https://www.tutorialspoint.com/css/index.htm
https://www.tutorialspoint.com/javascript/index.htm
https://www.tutorialspoint.com/php/index.htm
https://www.tutorialspoint.com/angular4/index.htm
https://www.tutorialspoint.com/mysql/index.htm
https://www.tutorialspoint.com/web_development_tutorials.htm
https://www.tutorialspoint.com/cprogramming/index.htm
https://www.tutorialspoint.com/cplusplus/index.htm
https://www.tutorialspoint.com/java8/index.htm
https://www.tutorialspoint.com/python/index.htm
https://www.tutorialspoint.com/scala/index.htm
https://www.tutorialspoint.com/csharp/index.htm
https://www.tutorialspoint.com/computer_programming_tutorials.htm
https://www.tutorialspoint.com/java8/index.htm
https://www.tutorialspoint.com/jdbc/index.htm
https://www.tutorialspoint.com/servlets/index.htm
https://www.tutorialspoint.com/spring/index.htm
https://www.tutorialspoint.com/hibernate/index.htm
https://www.tutorialspoint.com/swing/index.htm
https://www.tutorialspoint.com/java_technology_tutorials.htm
https://www.tutorialspoint.com/android/index.htm
https://www.tutorialspoint.com/swift/index.htm
https://www.tutorialspoint.com/ios/index.htm
https://www.tutorialspoint.com/kotlin/index.htm
https://www.tutorialspoint.com/react_native/index.htm
https://www.tutorialspoint.com/xamarin/index.htm
https://www.tutorialspoint.com/mobile_development_tutorials.htm
https://www.tutorialspoint.com/mongodb/index.htm
https://www.tutorialspoint.com/plsql/index.htm
https://www.tutorialspoint.com/sql/index.htm
https://www.tutorialspoint.com/db2/index.htm
https://www.tutorialspoint.com/mysql/index.htm
https://www.tutorialspoint.com/memcached/index.htm
https://www.tutorialspoint.com/database_tutorials.htm
https://www.tutorialspoint.com/asp.net/index.htm
https://www.tutorialspoint.com/entity_framework/index.htm
https://www.tutorialspoint.com/vb.net/index.htm
https://www.tutorialspoint.com/ms_project/index.htm
https://www.tutorialspoint.com/excel/index.htm
https://www.tutorialspoint.com/word/index.htm
https://www.tutorialspoint.com/microsoft_technologies_tutorials.htm
https://www.tutorialspoint.com/big_data_analytics/index.htm
https://www.tutorialspoint.com/hadoop/index.htm
https://www.tutorialspoint.com/sas/index.htm
https://www.tutorialspoint.com/qlikview/index.htm
https://www.tutorialspoint.com/power_bi/index.htm
https://www.tutorialspoint.com/tableau/index.htm
https://www.tutorialspoint.com/big_data_tutorials.htm
https://www.tutorialspoint.com/tutorialslibrary.htm
https://www.tutorialspoint.com/codingground.htm
https://www.tutorialspoint.com/coding_platform_for_websites.htm
https://www.tutorialspoint.com/developers_best_practices/index.htm
https://www.tutorialspoint.com/effective_resume_writing.htm
https://www.tutorialspoint.com/computer_glossary.htm
https://www.tutorialspoint.com/computer_whoiswho.htm
https://www.tutorialspoint.com/questions_and_answers.htm
https://www.tutorialspoint.com/multi_language_tutorials.htm
https://itunes.apple.com/us/app/tutorials-point/id914891263?ls=1&mt=8
https://play.google.com/store/apps/details?id=com.tutorialspoint.onlineviewer
https://www.windowsphone.com/s?appid=91249671-7184-4ad6-8a5f-d11847946b09
/about/index.htm
/about/about_team.htm
/about/about_careers.htm
/about/about_privacy.htm
/about/about_terms_of_use.htm
https://www.tutorialspoint.com/articles/
https://www.tutorialspoint.com/online_dev_tools.htm
https://www.tutorialspoint.com/free_web_graphics.htm
https://www.tutorialspoint.com/online_file_conversion.htm
https://www.tutorialspoint.com/shared-tutorials.php
https://www.tutorialspoint.com/netmeeting.php
https://www.tutorialspoint.com/free_online_whiteboard.htm
https://www.tutorialspoint.com
https://www.facebook.com/tutorialspointindia
https://plus.google.com/u/0/+tutorialspoint
https://www.twitter.com/tutorialspoint
https://www.linkedin.com/company/tutorialspoint
https://www.youtube.com/channel/UCVLbzhxVTiTLiVKeGV7WEBg
https://www.tutorialspoint.com/index.htm
/about/about_privacy.htm#cookies
/about/faq.htm
/about/about_helping.htm
/about/contact_us.htm

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

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

पाइप स्थापित करें 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"))

आउटपुट

<html>
<head/>
<title/>
<body/>
</html>

सेलेनियम - यह एक स्वचालित ब्राउज़र टूल है, इसे वेब-ड्राइवर के रूप में भी जाना जाता है। जब हम किसी भी वेबसाइट का उपयोग करते हैं, तो हम देखते हैं कि कभी-कभी हमें कुछ समय इंतजार करना पड़ता है, उदाहरण के लिए जब हम किसी बटन पर क्लिक करते हैं या पृष्ठ को स्क्रॉल करते हैं, तो इस समय सेलेनियम की आवश्यकता होती है।

सेलेनियम स्थापित करने के लिए हम इस कमांड का उपयोग करते हैं

पिप सेलेनियम स्थापित करें

उदाहरण

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)

आउटपुट

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

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

स्थापित करने के लिए हम निम्न आदेश का उपयोग कर सकते हैं

पिप मैकेनिकल सूप स्थापित करें

उदाहरण

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)

  1. पायथन में एलएक्सएमएल का उपयोग कर वेब स्क्रैपिंग कार्यान्वित करना?

    वेब स्क्रैपिंग न केवल डेटा विज्ञान के प्रति उत्साही बल्कि छात्रों या एक शिक्षार्थी को उत्साहित करता है, जो वेबसाइटों में गहराई से खुदाई करना चाहता है। पायथन कई वेबस्क्रैपिंग लाइब्रेरी प्रदान करता है, जिनमें शामिल हैं, स्क्रैपी उरलिब सुंदर सूप सेलेनियम पायथन अनुरोध एलएक्सएमएल हम

  1. 31 सर्वश्रेष्ठ वेब स्क्रैपिंग उपकरण

    जो लोग कोडिंग से परिचित नहीं हैं, उनके लिए वेब स्क्रैपर बनाना कठिन हो सकता है। सौभाग्य से, वेब स्क्रैपिंग सॉफ्टवेयर प्रोग्रामर और गैर-प्रोग्रामर दोनों के लिए सुलभ है। वेब स्क्रैपिंग सॉफ़्टवेयर विशेष रूप से वेबसाइटों से प्रासंगिक डेटा प्राप्त करने के लिए डिज़ाइन किया गया सॉफ़्टवेयर है। ये उपकरण उन लो

  1. पेशेवर के लिए सर्वश्रेष्ठ वेब डिजाइनिंग उपकरण

    बाजार में कई सशुल्क और मुफ्त पेशेवर वेब डिजाइनिंग उपकरण उपलब्ध हैं। वे डिजाइनरों के लिए एक क्लच के रूप में कार्य करते हैं क्योंकि वे अपने कार्यों को परेशानी मुक्त और आसान बनाते हैं। उन लोगों के लिए जो इस तरह के आसान टूल की तलाश में हैं, हमने वेब डिजाइनिंग टूल्स की एक विस्तृत सूची तैयार की है। जबकि H