ఈ అందమైన సూప్ పైథాన్ ట్యుటోరియల్‌తో ఒక వెబ్‌సైట్‌ను గీయండి

ఈ అందమైన సూప్ పైథాన్ ట్యుటోరియల్‌తో ఒక వెబ్‌సైట్‌ను గీయండి

బ్యూటిఫుల్ సూప్ ఒక ఓపెన్ సోర్స్ పైథాన్ లైబ్రరీ. ఇది XML మరియు HTML ఫైల్‌ల కంటెంట్‌ను స్క్రాప్ చేయడానికి నావిగేటింగ్ పార్సర్‌లను ఉపయోగిస్తుంది. అనేక విశ్లేషణాత్మక ప్రయోజనాల కోసం మీకు డేటా అవసరం. అయితే, మీరు పైథాన్ మరియు వెబ్ స్క్రాపింగ్‌కు కొత్తగా ఉంటే, పైథాన్ యొక్క బ్యూటిఫుల్ సూప్ లైబ్రరీ వెబ్ స్క్రాపింగ్ ప్రాజెక్ట్ కోసం ప్రయత్నించడం విలువ.





పైథాన్ యొక్క ఓపెన్ సోర్స్ బ్యూటిఫుల్ సూప్ లైబ్రరీతో, ప్రక్రియపై గరిష్ట నియంత్రణతో వెబ్‌పేజీలోని ఏదైనా భాగాన్ని లేదా మూలకాన్ని స్క్రాప్ చేయడం ద్వారా మీరు డేటాను పొందవచ్చు. ఈ ఆర్టికల్లో, వెబ్‌సైట్‌ను స్క్రాప్ చేయడానికి మీరు బ్యూటిఫుల్ సూప్‌ను ఎలా ఉపయోగించవచ్చో మేము చూస్తాము.





అందమైన సూప్‌ను ఎలా ఇన్‌స్టాల్ చేయాలి మరియు దానితో ప్రారంభించండి

మేము కొనసాగడానికి ముందు, ఈ అందమైన సూప్ ట్యుటోరియల్ వ్యాసంలో, మేము పైథాన్ 3 ని ఉపయోగిస్తాము మరియు అందమైన సూప్ 4 , బ్యూటిఫుల్ సూప్ యొక్క తాజా వెర్షన్. మీరు అని నిర్ధారించుకోండి పైథాన్ వర్చువల్ వాతావరణాన్ని సృష్టించండి మీ ప్రాజెక్ట్ మరియు దాని ప్యాకేజీలను మీ స్థానిక యంత్రంలోని వాటి నుండి వేరుచేయడానికి.





లింక్ చేసిన ఖాతాను ఎలా తొలగించాలి

ప్రారంభించడానికి, మీరు మీ వర్చువల్ వాతావరణంలో బ్యూటిఫుల్ సూప్ లైబ్రరీని ఇన్‌స్టాల్ చేయాలి. బ్యూటిఫుల్ సూప్ అన్ని ఆపరేటింగ్ సిస్టమ్‌ల కోసం PyPi ప్యాకేజీగా అందుబాటులో ఉంది, కాబట్టి మీరు దీన్ని ఇన్‌స్టాల్ చేయవచ్చు పిప్ ఇన్‌స్టాల్ బ్యూటిఫుల్ సూప్ 4 టెర్మినల్ ద్వారా ఆదేశం.

అయితే, మీరు డెబియన్ లేదా లైనక్స్‌లో ఉన్నట్లయితే, పై కమాండ్ ఇప్పటికీ పనిచేస్తుంది, కానీ మీరు దానిని అమలు చేయడం ద్వారా ప్యాకేజీ మేనేజర్‌తో ఇన్‌స్టాల్ చేయవచ్చు apt-get install python3-bs4 .



అందమైన సూప్ నేరుగా URL లను స్క్రాప్ చేయదు. ఇది రెడీమేడ్ HTML లేదా XML ఫైల్‌లతో మాత్రమే పనిచేస్తుంది. అంటే మీరు నేరుగా URL ని అందులోకి పంపలేరు. ఆ సమస్యను పరిష్కరించడానికి, మీరు బ్యూటిఫుల్ సూప్‌కు తినిపించే ముందు పైథాన్ అభ్యర్థన లైబ్రరీతో టార్గెట్ వెబ్‌సైట్ యొక్క URL ని పొందాలి.

మీ స్క్రాపర్ కోసం ఆ లైబ్రరీని అందుబాటులో ఉంచడానికి, అమలు చేయండి పిప్ ఇన్‌స్టాల్ అభ్యర్థనలు టెర్మినల్ ద్వారా ఆదేశం.





XML పార్సర్ లైబ్రరీని ఉపయోగించడానికి, రన్ చేయండి పిప్ ఇన్‌స్టాల్ lxml దీన్ని ఇన్‌స్టాల్ చేయడానికి.

మీరు స్క్రాప్ చేయాలనుకుంటున్న వెబ్‌పేజీని తనిఖీ చేయండి

మీకు తెలియని ఏదైనా వెబ్‌సైట్‌ను స్క్రాప్ చేయడానికి ముందు, దాని మూలకాలను తనిఖీ చేయడం ఉత్తమ పద్ధతి. మీ బ్రౌజర్‌ను డెవలపర్ మోడ్‌కు మార్చడం ద్వారా మీరు దీన్ని చేయవచ్చు. ఇది చాలా సులభం Chrome DevTools ఉపయోగించండి మీరు Google Chrome ఉపయోగిస్తుంటే.





అయితే, దాని HTML ట్యాగ్‌లు, గుణాలు, తరగతులు మరియు ఐడిల గురించి మరింత తెలుసుకోవడానికి వెబ్‌పేజీని తనిఖీ చేయడం అవసరం. అలా చేయడం వల్ల వెబ్‌పేజీలోని ప్రధాన అంశాలు మరియు దాని కంటెంట్ రకాలు బహిర్గతమవుతాయి.

వెబ్‌సైట్ నుండి మీకు కావలసిన ఖచ్చితమైన డేటాను పొందడానికి మీరు ఉపయోగించగల ఉత్తమ వ్యూహాలను అభివృద్ధి చేయడానికి మరియు మీరు దాన్ని ఎలా పొందవచ్చో కూడా ఇది మీకు సహాయపడుతుంది.

అందమైన సూప్‌తో వెబ్‌సైట్‌ల డేటాను ఎలా గీయాలి

ఇప్పుడు మీరు అన్నింటినీ సిద్ధం చేసి, ఇష్టపడే కోడ్ ఎడిటర్‌ని తెరిచి, కొత్త పైథాన్ ఫైల్‌ను సృష్టించి, దానికి ఎంచుకున్న పేరును ఇస్తారు. అయితే, మీరు కూడా చేయవచ్చు జూపిటర్ నోట్‌బుక్ వంటి వెబ్ ఆధారిత IDE లను ఉపయోగించుకోండి కమాండ్ లైన్ ద్వారా పైథాన్‌ను అమలు చేయడం మీకు తెలియకపోతే.

తరువాత, అవసరమైన లైబ్రరీలను దిగుమతి చేయండి:

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 అంశాలు, మీరు దీనిని ఉపయోగించవచ్చు అన్ని_ని కనుగొనండి అంతర్నిర్మిత ఫంక్షన్ మరియు కోసం పైథాన్ లూప్:

మీరు విచ్ఛిన్నం నేను నా దగ్గర పరిష్కరించాను
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)

ID మరియు క్లాస్ పేరు ఉపయోగించి వెబ్‌పేజీని ఎలా స్క్రాప్ చేయాలి

DevTools తో వెబ్‌సైట్‌ను తనిఖీ చేసిన తర్వాత, దాని DOM లో ప్రతి మూలకాన్ని కలిగి ఉన్న id మరియు తరగతి లక్షణాల గురించి మరింత తెలుసుకోవడానికి ఇది మిమ్మల్ని అనుమతిస్తుంది. మీరు ఆ సమాచారాన్ని కలిగి ఉన్న తర్వాత, మీరు ఈ పద్ధతిని ఉపయోగించి ఆ వెబ్‌పేజీని స్క్రాప్ చేయవచ్చు. లక్ష్య భాగం యొక్క కంటెంట్ డేటాబేస్ నుండి లూప్ అవుట్ అయినప్పుడు ఇది ఉపయోగపడుతుంది.

మీరు దీనిని ఉపయోగించవచ్చు కనుగొనండి ఐడి మరియు క్లాస్ స్క్రాపర్‌ల కోసం పద్ధతి. కాకుండా అన్ని_ని కనుగొనండి పునరావృతమయ్యే వస్తువును తిరిగి ఇచ్చే పద్ధతి, ది కనుగొనండి పద్ధతి ఒకే, నాన్-ఇటరబుల్ టార్గెట్‌పై పనిచేస్తుంది, అంటే id ఈ విషయంలో. కాబట్టి, మీరు దీనిని ఉపయోగించాల్సిన అవసరం లేదు కోసం దానితో లూప్.

ఐడిని ఉపయోగించి దిగువ పేజీలోని కంటెంట్‌ని మీరు ఎలా స్క్రాప్ చేయవచ్చో ఒక ఉదాహరణ చూద్దాం:

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)

తరగతి పేరు కోసం దీన్ని చేయడానికి, దాన్ని భర్తీ చేయండి id తో తరగతి . అయితే, రాయడం తరగతి పైథాన్ దానిని కీవర్డ్‌గా చూసినందున నేరుగా వాక్యనిర్మాణ గందరగోళానికి దారితీస్తుంది. ఆ లోపాన్ని దాటవేయడానికి, మీరు క్లాస్ ముందు అండర్‌స్కోర్‌ను ఇలా వ్రాయాలి: తరగతి_ .

సారాంశంలో, ఐడిని కలిగి ఉన్న లైన్ అవుతుంది:

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 స్క్రాపర్ క్లాస్‌ను కలిగి ఉన్న పైథాన్ ఫైల్ పేరు.

మీరు కూడా తనిఖీ చేయవచ్చు అందమైన సూప్ డాక్యుమెంటేషన్ మీరు దాన్ని ఎలా ఉత్తమంగా ఉపయోగించుకోవాలో లోతుగా డైవ్ చేయాలనుకుంటే.

అందమైన సూప్ ఒక విలువైన వెబ్ స్క్రాపింగ్ టూల్

బ్యూటిఫుల్ సూప్ అనేది శక్తివంతమైన పైథాన్ స్క్రీన్ స్క్రాపర్, ఇది స్క్రాపింగ్ సమయంలో మీ డేటా ఎలా వస్తుందనే దానిపై మీకు నియంత్రణను అందిస్తుంది. ఇది ఒక విలువైన వ్యాపార సాధనం, ఎందుకంటే ఇది ధర, మార్కెట్ ట్రెండ్‌లు మరియు మరిన్ని వంటి పోటీదారుల వెబ్ డేటాను యాక్సెస్ చేయగలదు.

శామ్‌సంగ్ స్మార్ట్ టీవీలో యాప్‌లను ఎలా తొలగించాలి

మేము ఈ ఆర్టికల్‌లో ట్యాగ్ స్క్రాపర్‌ని తయారు చేసినప్పటికీ, మరింత ఉపయోగకరమైన స్క్రాపింగ్ టూల్స్ చేయడానికి ఈ శక్తివంతమైన పైథాన్ లైబ్రరీతో మీరు ఇప్పటికీ ప్లే చేయవచ్చు.

షేర్ చేయండి షేర్ చేయండి ట్వీట్ ఇమెయిల్ ఆన్‌లైన్‌లో ఉత్తమ వెబ్ స్క్రాపింగ్ టూల్స్

విశ్లేషణాత్మక ప్రయోజనాల కోసం వెబ్‌సైట్ల నుండి డేటాను సేకరించాలా? ఈ వెబ్ స్క్రాపింగ్ టూల్స్ సులభతరం చేస్తాయి.

తదుపరి చదవండి
సంబంధిత అంశాలు
  • ప్రోగ్రామింగ్
  • పైథాన్
రచయిత గురుంచి ఇదిసౌ ఒమిసోలా(94 కథనాలు ప్రచురించబడ్డాయి)

ఇడోవు ఏదైనా స్మార్ట్ టెక్ మరియు ఉత్పాదకతపై మక్కువ చూపుతుంది. తన ఖాళీ సమయంలో, అతను కోడింగ్‌తో ఆడుతాడు మరియు అతను విసుగు చెందినప్పుడు చెస్‌బోర్డ్‌కి మారుతాడు, కానీ అతను ఒక్కోసారి రొటీన్ నుండి దూరంగా ఉండడాన్ని కూడా ఇష్టపడతాడు. ఆధునిక సాంకేతిక పరిజ్ఞానాన్ని ప్రజలకు చూపించాలనే అతని అభిరుచి అతన్ని మరింత రాయడానికి ప్రేరేపిస్తుంది.

ఇడోవు ఒమిసోలా నుండి మరిన్ని

మా వార్తాలేఖకు సభ్యత్వాన్ని పొందండి

టెక్ చిట్కాలు, సమీక్షలు, ఉచిత ఈబుక్‌లు మరియు ప్రత్యేకమైన డీల్స్ కోసం మా వార్తాలేఖలో చేరండి!

సభ్యత్వం పొందడానికి ఇక్కడ క్లిక్ చేయండి