இந்த அழகான சூப் பைதான் டுடோரியலுடன் ஒரு வலைத்தளத்தை கீறவும்

இந்த அழகான சூப் பைதான் டுடோரியலுடன் ஒரு வலைத்தளத்தை கீறவும்

அழகான சூப் ஒரு திறந்த மூல பைதான் நூலகம். எக்ஸ்எம்எல் மற்றும் எச்டிஎம்எல் கோப்புகளின் உள்ளடக்கத்தை துடைக்க இது வழிசெலுத்தல் பார்சர்களைப் பயன்படுத்துகிறது. பல பகுப்பாய்வு நோக்கங்களுக்காக உங்களுக்கு தரவு தேவை. இருப்பினும், நீங்கள் பைதான் மற்றும் வலை ஸ்கிராப்பிங்கிற்கு புதியவராக இருந்தால், பைத்தானின் அழகான சூப் நூலகம் ஒரு வலை ஸ்கிராப்பிங் திட்டத்திற்கு முயற்சிப்பது மதிப்பு.





பைத்தானின் திறந்த மூல அழகான சூப் நூலகம் மூலம், செயல்முறையின் மீது அதிகபட்ச கட்டுப்பாட்டைக் கொண்டு ஒரு வலைப்பக்கத்தின் எந்தப் பகுதியையும் அல்லது உறுப்புகளையும் ஸ்கிராப் செய்வதன் மூலம் தரவைப் பெறலாம். இந்த கட்டுரையில், ஒரு வலைத்தளத்தை துடைக்க நீங்கள் எப்படி அழகான சூப்பைப் பயன்படுத்தலாம் என்பதை நாங்கள் பார்க்கிறோம்.





அழகான சூப்பை நிறுவுவது மற்றும் அதைத் தொடங்குவது எப்படி

நாங்கள் தொடர்வதற்கு முன், இந்த அழகான சூப் டுடோரியல் கட்டுரையில், நாம் பைதான் 3 ஐப் பயன்படுத்துவோம் அழகான சூப் 4 , அழகான சூப்பின் சமீபத்திய பதிப்பு. நீங்கள் என்பதை உறுதிப்படுத்திக் கொள்ளுங்கள் பைதான் மெய்நிகர் சூழலை உருவாக்கவும் உங்கள் திட்டத்தையும் அதன் தொகுப்புகளையும் உங்கள் உள்ளூர் இயந்திரத்தில் இருந்து தனிமைப்படுத்த.





ஏன் hbo அதிகபட்சம் மெதுவாக உள்ளது

தொடங்குவதற்கு, உங்கள் மெய்நிகர் சூழலில் அழகான சூப் நூலகத்தை நிறுவ வேண்டும். அழகான சூப் அனைத்து இயக்க முறைமைகளுக்கும் PyPi தொகுப்பாக கிடைக்கிறது, எனவே நீங்கள் அதை நிறுவலாம் குழாய் நிறுவல் அழகான சூப் 4 முனையம் வழியாக கட்டளை.

இருப்பினும், நீங்கள் டெபியன் அல்லது லினக்ஸில் இருந்தால், மேலே உள்ள கட்டளை இன்னும் வேலை செய்கிறது, ஆனால் நீங்கள் அதை இயக்கி தொகுப்பு மேலாளருடன் நிறுவலாம் apt-get python3-bs4 நிறுவவும் .



அழகான சூப் நேரடியாக URL களை துடைக்காது. இது ஆயத்த HTML அல்லது XML கோப்புகளுடன் மட்டுமே இயங்குகிறது. அதாவது நீங்கள் ஒரு URL ஐ நேராக அனுப்ப முடியாது. அந்த சிக்கலை தீர்க்க, அழகான சூப்பிற்கு உணவளிக்கும் முன், பைத்தானின் கோரிக்கை நூலகத்துடன் இலக்கு வலைத்தளத்தின் URL ஐ நீங்கள் பெற வேண்டும்.

உங்கள் ஸ்கிராப்பருக்கு அந்த நூலகம் கிடைக்க, இயக்கவும் குழாய் நிறுவல் கோரிக்கைகள் முனையம் வழியாக கட்டளை.





எக்ஸ்எம்எல் பார்சர் நூலகத்தைப் பயன்படுத்த, இயக்கவும் குழாய் நிறுவல் lxml அதை நிறுவ.

நீங்கள் துடைக்க விரும்பும் வலைப்பக்கத்தை சரிபார்க்கவும்

உங்களுக்கு அறிமுகமில்லாத எந்த வலைத்தளத்தையும் ஸ்கிராப் செய்வதற்கு முன், அதன் கூறுகளை ஆய்வு செய்வது ஒரு சிறந்த நடைமுறை. உங்கள் உலாவியை டெவலப்பர் பயன்முறைக்கு மாற்றுவதன் மூலம் இதைச் செய்யலாம். இது மிகவும் எளிது Chrome DevTools ஐப் பயன்படுத்தவும் நீங்கள் Google Chrome ஐப் பயன்படுத்துகிறீர்கள் என்றால்.





இருப்பினும், அதன் HTML குறிச்சொற்கள், பண்புக்கூறுகள், வகுப்புகள் மற்றும் ஐடிகள் பற்றி மேலும் அறிய ஒரு வலைப்பக்கத்தை ஆய்வு செய்வது அவசியம். அதைச் செய்வது ஒரு வலைப்பக்கத்தின் முக்கிய கூறுகள் மற்றும் அதன் உள்ளடக்க வகைகளை வெளிப்படுத்துகிறது.

ஒரு வலைத்தளத்திலிருந்து நீங்கள் விரும்பும் சரியான தரவைப் பெற நீங்கள் பயன்படுத்தக்கூடிய சிறந்த உத்திகளை உருவாக்கவும், அதை நீங்கள் எவ்வாறு பெற முடியும் என்பதற்கும் இது உதவுகிறது.

அழகான சூப் மூலம் ஒரு இணையதளத் தரவை எப்படித் துடைப்பது

இப்போது உங்களிடம் எல்லாம் தயாராக உள்ளது, விருப்பமான குறியீடு எடிட்டரைத் திறந்து, புதிய பைதான் கோப்பை உருவாக்கி, அதற்குத் தேர்ந்தெடுக்கப்பட்ட பெயரைக் கொடுங்கள். எனினும், உங்களால் முடியும் ஜூபிடர் நோட்புக் போன்ற இணைய அடிப்படையிலான ஐடிஇக்களைப் பயன்படுத்தவும் கட்டளை வரி வழியாக பைத்தானை இயக்குவது உங்களுக்கு தெரிந்திருக்கவில்லை என்றால்.

அடுத்து, தேவையான நூலகங்களை இறக்குமதி செய்யுங்கள்:

from bs4 import BeautifulSoup
import requests

முதலில், கோரிக்கைகள் நூலகம் எவ்வாறு செயல்படுகிறது என்று பார்ப்போம்:

from bs4 import BeautifulSoup
import requests
website = requests.get('http://somewebpages.com')
print(website)

மேலே உள்ள குறியீட்டை நீங்கள் இயக்கும்போது, ​​அது 200 நிலையை அளிக்கிறது, இது உங்கள் கோரிக்கை வெற்றிகரமாக இருப்பதைக் குறிக்கிறது. இல்லையெனில், நீங்கள் தோல்வியடைந்த GET கோரிக்கையைக் குறிக்கும் 400 நிலை அல்லது வேறு சில பிழை நிலைகளைப் பெறுவீர்கள்.

அடைப்புக்குறிக்குள் உள்ள வலைத்தளத்தின் URL ஐ எப்போதும் உங்கள் இலக்கு URL உடன் மாற்ற நினைவில் கொள்ளுங்கள்.

வலைத்தளத்தைப் பெற்றவுடன் பெறு வேண்டுகோள், நீங்கள் அதை அழகான சூப்பிற்கு அனுப்புங்கள், நீங்கள் தேர்ந்தெடுத்த வடிவமைப்பைப் பொறுத்து உள்ளடக்கத்தை அதன் உள்ளமைக்கப்பட்ட XML அல்லது HTML பாகுபலி பயன்படுத்தி HTML அல்லது XML கோப்புகளாக படிக்கலாம்.

HTML பாகுபடுத்தியுடன் இதை எப்படி செய்வது என்பதை அறிய இந்த அடுத்த குறியீட்டைப் பாருங்கள்:

from bs4 import BeautifulSoup
import requests
website = requests.get('http://somewebpages.com')
soup = BeautifulSoup(website.content, 'html.parser')
print(soup)

மேலே உள்ள குறியீடு அதன் உள்ளடக்கத்துடன் ஒரு வலைப்பக்கத்தின் முழு DOM ஐ வழங்குகிறது.

DOM ஐப் பயன்படுத்தி மேலும் சீரமைக்கப்பட்ட பதிப்பையும் நீங்கள் பெறலாம் அழகுபடுத்த முறை அதன் வெளியீட்டைப் பார்க்க நீங்கள் இதை முயற்சி செய்யலாம்:

from bs4 import BeautifulSoup
import requests
website = requests.get('http://somewebpages.com/')
soup = BeautifulSoup(website.content, 'html.parser')
print(soup.prettify())

ஒரு வலைப்பக்கத்தில் அதன் உறுப்பை ஏற்றாமல் அதன் தூய உள்ளடக்கத்தையும் நீங்கள் பெறலாம் . உரை முறை:

from bs4 import BeautifulSoup
import requests
website = requests.get('http://somewebpages.com/')
soup = BeautifulSoup(website.content, 'html.parser')
print(soup.text)

டேக் பெயரால் ஒரு வலைப்பக்கத்தின் உள்ளடக்கத்தை எப்படித் துடைப்பது

அழகிய சூப் மூலம் ஒரு குறிப்பிட்ட டேக்கில் உள்ள உள்ளடக்கத்தையும் நீங்கள் துடைக்கலாம். இதைச் செய்ய, உங்கள் அழகான சூப் ஸ்கிராப்பர் கோரிக்கையில் இலக்குக் குறியின் பெயரைச் சேர்க்க வேண்டும்.

எடுத்துக்காட்டாக, உள்ளடக்கத்தை நீங்கள் எவ்வாறு பெறலாம் என்று பார்ப்போம் h2 ஒரு வலைப்பக்கத்தின் குறிச்சொற்கள்.

from bs4 import BeautifulSoup
import requests
website = requests.get('http://somewebpages.com/')
soup = BeautifulSoup(website.content, 'html.parser')
print(soup.h2)

மேலே உள்ள குறியீடு துணுக்கில், சூப். h2 முதலில் கொடுக்கிறது h2 வலைப்பக்கத்தின் உறுப்பு மற்றும் மீதமுள்ளவற்றை புறக்கணிக்கிறது. அனைத்தையும் ஏற்றுவதற்கு h2 கூறுகள், நீங்கள் பயன்படுத்தலாம் கண்டுபிடிக்க_அனைத்தும் உள்ளமைக்கப்பட்ட செயல்பாடு மற்றும் க்கான பைத்தானின் வளையம்:

ராஸ்பெர்ரி பை 3 பி+ ஓவர்லாக்
from bs4 import BeautifulSoup
import requests
website = requests.get('http://somewebpages.com/')
soup = BeautifulSoup(website.content, 'html.parser')
h2tags = soup.find_all('h2')
for soups in h2tags:
print(soups)

குறியீட்டின் அந்த தொகுதி அனைத்தையும் வழங்குகிறது h2 கூறுகள் மற்றும் அவற்றின் உள்ளடக்கம். இருப்பினும், குறிச்சொல்லைப் பயன்படுத்தாமல் உள்ளடக்கத்தை நீங்கள் பெறலாம் .லேசான கயிறு முறை:

from bs4 import BeautifulSoup
import requests
website = requests.get('http://somewebpages.com/')
soup = BeautifulSoup(website.content, 'html.parser')
h2tags = soup.find_all('h2')
for soups in h2tags:
print(soups.string)

எந்த HTML டேக்கிற்கும் இந்த முறையைப் பயன்படுத்தலாம். நீங்கள் மாற்ற வேண்டியது எல்லாம் h2 நீங்கள் விரும்பும் ஒன்றை டேக் செய்யவும்.

இருப்பினும், குறிச்சொற்களின் பட்டியலை அனுப்புவதன் மூலம் மேலும் குறிச்சொற்களைத் துடைக்கலாம் கண்டுபிடிக்க_அனைத்தும் முறை உதாரணமாக, கீழே உள்ள குறியீட்டின் தொகுதி உள்ளடக்கத்தை ஸ்கிராப் செய்கிறது க்கு , h2 , மற்றும் தலைப்பு குறிச்சொற்கள்:

from bs4 import BeautifulSoup
import requests
website = requests.get('http://somewebpages.com/')
soup = BeautifulSoup(website.content, 'html.parser')
tags = soup.find_all(['a', 'h2', 'title'])
for soups in tags:
print(soups.string)

ஐடி மற்றும் வகுப்பு பெயரைப் பயன்படுத்தி ஒரு வலைப்பக்கத்தை எப்படி ஸ்கிராப் செய்வது

DevTools உடன் ஒரு வலைத்தளத்தைப் பரிசோதித்த பிறகு, அதன் DOM இல் ஒவ்வொரு உறுப்புகளையும் வைத்திருக்கும் ஐடி மற்றும் வகுப்பு பண்புகளைப் பற்றி மேலும் அறிய இது உங்களை அனுமதிக்கிறது. அந்தத் தகவலை நீங்கள் பெற்றவுடன், இந்த முறையைப் பயன்படுத்தி அந்த வலைப்பக்கத்தை ஸ்கிராப் செய்யலாம். இலக்கு கூறுகளின் உள்ளடக்கம் தரவுத்தளத்திலிருந்து வெளியேறும்போது இது பயனுள்ளதாக இருக்கும்.

நீங்கள் பயன்படுத்தலாம் கண்டுபிடிக்க ஐடி மற்றும் வகுப்பு ஸ்கிராப்பர்களுக்கான முறை. போலல்லாமல் கண்டுபிடிக்க_அனைத்தும் திரும்பப்பெறக்கூடிய பொருளை வழங்கும் முறை, தி கண்டுபிடிக்க முறை ஒரு ஒற்றை, செயல்படாத இலக்கில் வேலை செய்கிறது, இது ஐடி இந்த வழக்கில் எனவே, நீங்கள் இதைப் பயன்படுத்தத் தேவையில்லை க்கான அதனுடன் வளைய.

ஐடியைப் பயன்படுத்தி கீழே உள்ள பக்கத்தின் உள்ளடக்கத்தை நீங்கள் எவ்வாறு துடைக்கலாம் என்பதற்கான உதாரணத்தைப் பார்ப்போம்:

from bs4 import BeautifulSoup
import requests
website = requests.get('http://somewebpages.com/')
soup = BeautifulSoup(website.content, 'html.parser')
id = soup.find(id = 'enter the target id here')
print(id.text)

ஒரு வர்க்கப் பெயருக்கு இதைச் செய்ய, அதை மாற்றவும் ஐடி உடன் வர்க்கம் . எனினும், எழுதுதல் வர்க்கம் பைதான் அதை ஒரு முக்கிய வார்த்தையாக பார்ப்பதால் நேரடியாக தொடரியல் குழப்பத்தில் விளைகிறது. அந்த பிழையைத் தவிர்ப்பதற்கு, நீங்கள் வகுப்பிற்கு முன்னால் இப்படி அடிக்கோடிட்டு எழுத வேண்டும்: வர்க்கம்_ .

சாராம்சத்தில், ஐடி கொண்ட வரி ஆனது:

my_classes = soup.find(class_ = 'enter the target class name here')
print(my_classes.text)

இருப்பினும், ஒரு குறிப்பிட்ட டேக் பெயரை அதனுடன் தொடர்புடைய ஐடி அல்லது வர்க்கத்துடன் அழைப்பதன் மூலம் நீங்கள் ஒரு வலைப்பக்கத்தை ஸ்கிராப் செய்யலாம்:

data = soup.find_all('div', class_ = 'enter the target class name here')
print(data)

அழகான சூப் மூலம் மீண்டும் பயன்படுத்தக்கூடிய ஸ்கிராப்பரை உருவாக்குவது எப்படி

சில குறிச்சொற்களின் உள்ளடக்கத்தையும் அவற்றின் ஐடியையும் மீண்டும் பயன்படுத்தக்கூடிய ஸ்கிராப்பரை உருவாக்க நீங்கள் ஒரு வகுப்பை உருவாக்கி முந்தைய அனைத்து குறியீடுகளையும் ஒன்றாக அந்த வகுப்பில் ஒரு செயல்பாட்டில் வைக்கலாம். ஐந்து வாதங்களை ஏற்கும் ஒரு செயல்பாட்டை உருவாக்குவதன் மூலம் இதைச் செய்யலாம்: ஒரு URL, இரண்டு குறிச்சொல் பெயர்கள் மற்றும் அதனுடன் தொடர்புடைய ஐடிகள் அல்லது வகுப்புகள்.

நீங்கள் ஒரு இ-காமர்ஸ் வலைத்தளத்திலிருந்து சட்டைகளின் விலையை துடைக்க விரும்புகிறீர்கள் என்று வைத்துக்கொள்வோம். கீழே உள்ள எடுத்துக்காட்டு ஸ்கிராப்பர் வகுப்பு விலை மற்றும் சட்டை குறிச்சொற்களை அதனுடன் தொடர்புடைய ஐடிகள் அல்லது வகுப்புகளுடன் பிரித்தெடுக்கிறது, பின்னர் அதை பாண்டாஸ் தரவு சட்டமாக 'விலை' மற்றும் ஷர்ட்_பெயருடன் நெடுவரிசை பெயர்களாக வழங்குகிறது.

நீங்கள் என்பதை உறுதிப்படுத்திக் கொள்ளுங்கள் குழாய் நிறுவல் பாண்டாக்கள் நீங்கள் ஏற்கனவே செய்யவில்லை என்றால் முனையம் வழியாக.

import pandas as pd
class scrapeit:
try:
def scrape(website=None, tag1=None, id1=None, tag2=None, id2=None):
if not (website and tag1 and id1 and tag2 and id2)==None:
try:
page = requests.get(website)
soup = BeautifulSoup(page.content, 'html.parser')
infotag1 = soup.find_all(tag1, id1)
infotag2 = soup.find_all(tag2, id2)
priced = [prices.text for prices in infotag1]
shirt = [shirts.text for shirts in infotag2]
data = {
'Price':priced,
'Shirt_name':shirt}
info = pd.DataFrame(data, columns=['Price', 'Shirt_name'])
print(info)
except:
print('Not successful')
else:
print('Oops! Please enter a website, two tags and thier corresponding ids')
except:
print('Not successful!')

நீங்கள் இப்போது உருவாக்கிய ஸ்கிராப்பர் மீண்டும் பயன்படுத்தக்கூடிய தொகுதி மற்றும் நீங்கள் அதை மற்றொரு பைதான் கோப்பில் இறக்குமதி செய்து பயன்படுத்தலாம். அழைக்க கீறல் அதன் வகுப்பிலிருந்து செயல்பாடு, நீங்கள் பயன்படுத்துகிறீர்கள் scrapeit.scrape ('இணையதள URL', 'price_tag', 'price_id', 'shirt_tag', 'shirt_id') . நீங்கள் URL மற்றும் பிற அளவுருக்களை வழங்கவில்லை என்றால், வேறு அறிக்கை அவ்வாறு செய்ய உங்களைத் தூண்டுகிறது.

அந்த ஸ்கேப்பரை மற்றொரு பைதான் கோப்பில் பயன்படுத்த, நீங்கள் இதை இப்படி இறக்குமதி செய்யலாம்:

from scraper_module import scrapeit
scrapeit.scrape('URL', 'price_tag', 'price_id', 'shirt_tag', 'shirt_id')

குறிப்பு: scraper_module ஸ்கிராப்பர் வகுப்பை வைத்திருக்கும் பைதான் கோப்பின் பெயர்.

நீங்கள் சரிபார்க்கவும் முடியும் அழகான சூப் ஆவணங்கள் நீங்கள் அதை எவ்வாறு சிறப்பாகப் பயன்படுத்த முடியும் என்பதை ஆழமாகப் பார்க்க விரும்பினால்.

அழகான சூப் ஒரு மதிப்புமிக்க வலை ஸ்கிராப்பிங் கருவி

அழகான சூப் ஒரு சக்திவாய்ந்த பைதான் ஸ்கிரீன் ஸ்கிராப்பர் ஆகும், இது ஸ்கிராப்பிங்கின் போது உங்கள் தரவு எவ்வாறு வருகிறது என்பதைக் கட்டுப்படுத்துகிறது. இது ஒரு மதிப்புமிக்க வணிகக் கருவியாகும், ஏனெனில் இது போட்டியாளர்களின் வலைத் தரவை விலை நிர்ணயம், சந்தை போக்குகள் மற்றும் பலவற்றிற்கு அணுகலாம்.

யூடியூப்பில் 18 வீடியோக்களை எப்படி பார்ப்பது

இந்த கட்டுரையில் டேக் ஸ்கிராப்பரை நாங்கள் உருவாக்கியிருந்தாலும், இன்னும் பயனுள்ள ஸ்கிராப்பிங் கருவிகளை உருவாக்க இந்த சக்திவாய்ந்த பைதான் நூலகத்துடன் நீங்கள் விளையாடலாம்.

பகிர் பகிர் ட்வீட் மின்னஞ்சல் ஆன்லைனில் சிறந்த வலை ஸ்கிராப்பிங் கருவிகள்

பகுப்பாய்வு நோக்கங்களுக்காக வலைத்தளங்களிலிருந்து தரவைச் சேகரிக்க வேண்டுமா? இந்த வலை ஸ்கிராப்பிங் கருவிகள் அதை எளிதாக்குகின்றன.

அடுத்து படிக்கவும்
தொடர்புடைய தலைப்புகள்
  • நிரலாக்க
  • பைதான்
எழுத்தாளர் பற்றி இடிசோ ஒமிசோலா(94 கட்டுரைகள் வெளியிடப்பட்டன)

இடோவு ஸ்மார்ட் தொழில்நுட்பம் மற்றும் உற்பத்தித்திறன் ஆகியவற்றில் ஆர்வம் கொண்டவர். அவரது ஓய்வு நேரத்தில், அவர் சலிப்படையும்போது குறியீட்டுடன் விளையாடுகிறார் மற்றும் சதுரங்கப் பலகைக்கு மாறுகிறார், ஆனால் அவர் எப்போதாவது வழக்கத்திலிருந்து விலகிச் செல்ல விரும்புகிறார். நவீன தொழில்நுட்பத்தை மக்களுக்கு காட்டும் ஆர்வம் அவரை மேலும் எழுத தூண்டுகிறது.

இடோவு ஒமிசோலாவில் இருந்து மேலும்

எங்கள் செய்திமடலுக்கு குழுசேரவும்

தொழில்நுட்ப குறிப்புகள், மதிப்புரைகள், இலவச மின் புத்தகங்கள் மற்றும் பிரத்யேக ஒப்பந்தங்களுக்கு எங்கள் செய்திமடலில் சேரவும்!

குழுசேர இங்கே சொடுக்கவும்