कंप्यूटर विज्ञान में वेब स्क्रैपिंग का अर्थ है वेबसाइटों से डेटा निकालना। इस तकनीक का उपयोग करके वेब पर असंरचित डेटा को संरचित डेटा में रूपांतरित किया जाता है।
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)