Ինչպե՞ս քերել տվյալները տեղական HTML ֆայլերից՝ օգտագործելով Python-ը:
Տեղական HTML ֆայլի տվյալները կարելի է հանել՝ օգտագործելով Beautiful Soup և Python ֆայլերի մշակման տեխնիկան: Beautiful Soup-ը մեզ թույլ է տալիս վերլուծել HTML փաստաթղթերը և նավարկել դրանց կառուցվածքը, մինչդեռ ֆայլերի մշակումը մեզ հնարավորություն է տալիս տեղային ֆայլերից վերցնել HTML բովանդակությունը: Համատեղելով այս գործիքները՝ մենք կարող ենք սովորել, թե ինչպես արժեքավոր տվյալներ հանել մեր համակարգչում պահվող HTML ֆայլերից: Այս հոդվածում մենք կհասկանանք, թե ինչպես կարող ենք քերել տվյալները տեղական HTML ֆայլերից՝ օգտագործելով Python-ը:
Նախադրյալներ
Նախքան հասկանալը, թե ինչպես կարելի է քերել տվյալները տեղական HTML ֆայլերից, համոզվեք, որ ձեր մեքենայի վրա տեղադրված եք Python-ը: Բացի այդ, խորհուրդ է տրվում ունենալ հիմնական գիտելիքներ Python ծրագրավորման և HTML կառուցվածքի մասին:
Python գրադարանների տեղադրում
HTML ֆայլերից տվյալներ հանելու համար մենք կօգտագործենք հետևյալ Python գրադարանները.
Գեղեցիկ ապուր – Հզոր գրադարան HTML և XML ֆայլերը վերլուծելու համար:
Հարցումներ − HTTP հարցումներ կատարելու գրադարան:
Դուք կարող եք տեղադրել այս գրադարանները՝ օգտագործելով pip-ը՝ Python-ի փաթեթի տեղադրիչը, գործարկելով հետևյալ հրամանները ձեր տերմինալում կամ հրամանի տողում.
pip install beautifulsoup4
pip install requests
Հասկանալով HTML կառուցվածքը
HTML ֆայլերը կառուցված են՝ օգտագործելով պիտակներ և ատրիբուտներ, որոնք սահմանում են տարրերը փաստաթղթում: Տվյալներն արդյունավետ կերպով քերելու համար մենք պետք է հասկանանք կառուցվածքը և տեղորոշենք համապատասխան տվյալները HTML ֆայլում: Ծանոթացեք HTML պիտակներին, ինչպիսիք են <div>, <p>,
և ատրիբուտները, ինչպիսիք են class-ը և id-ը, քանի որ դրանք կարևոր նշանակություն կունենան տվյալների արդյունահանման համար:
HTML ֆայլերի բեռնում Python-ում
Նախքան տվյալներ հանելը, մենք պետք է բեռնենք HTML ֆայլը մեր Python սկրիպտում: Հարցումների գրադարանը թույլ է տալիս մեզ ստանալ HTML բովանդակությունը տեղական ֆայլից: Դա անելու համար մենք օգտագործում ենք get() մեթոդը և որպես արգումենտ փոխանցում ֆայլի ուղին։
HTML ֆայլերից տվյալներ հանելու համար մենք կօգտագործենք Beautiful Soup գրադարանը: Beautiful Soup-ն ապահովում է հեշտ օգտագործման ինտերֆեյս՝ HTML-ը վերլուծելու և դրա տարրերով նավարկելու համար: Այն թույլ է տալիս մեզ որոնել հատուկ պիտակներ, առբերել ատրիբուտները և տեքստային տվյալներ հանել:
Առաջին քայլը Beautiful Soup օբյեկտ ստեղծելն է HTML բովանդակությունից, որը մենք վերցրել էինք ավելի վաղ: Մենք դա անում ենք՝ որպես փաստարկներ փոխանցելով HTML բովանդակությունը և վերլուծիչ գրադարանը (սովորաբար «html.parser»):
from bs4 import BeautifulSoup
soup = BeautifulSoup(html_content, 'html.parser')
Տվյալների հավաքում տեղական HTML ֆայլից
Օրինակ, Ենթադրենք, որ մենք ունենք HTML ֆայլ demo.html անունով՝ հետևյալ կառուցվածքով.
Մենք պետք է հանենք տեքստը <h1> թեգի ներսում և ցուցակի տարրերը (
թեգեր) այս HTML ֆայլից: Ահա թե ինչպես կարող ենք հասնել դրան.
Օրինակ
Ստորև բերված օրինակում մենք նախ բացում ենք HTML ֆայլը, որը նշված է file_path փոփոխականով և կարդում դրա բովանդակությունը: Այնուհետև BeautifulSoup օբյեկտը ստեղծվում է HTML բովանդակությամբ, ինչը մեզ թույլ է տալիս վերլուծել և նավարկել HTML կառուցվածքը: Կոդը հանում է տեքստը <h1> թեգի մեջ և տպում այն որպես վերնագիր: Այն նաև գտնում է բոլոր
պիտակները, կրկնում է դրանց վրա և տպում ցուցակի յուրաքանչյուր տարրի տեքստը: Այս գործընթացը հնարավորություն է տալիս HTML ֆայլից որոշակի տվյալներ հանել հետագա մշակման կամ վերլուծության համար:
from bs4 import BeautifulSoup
file_path = 'demo.html'
# Open the HTML file and read its content
with open(file_path, 'r') as file:
html_content = file.read()
# Create a Beautiful Soup object
soup = BeautifulSoup(html_content, 'html.parser')
# Extract the heading text
heading = soup.find('h1').text
print("Heading:", heading)
# Extract the list items
list_items = soup.find_all('li')
print("List Items:")
for item in list_items:
print(item.text)
Արդյունք
Heading: Scraping Example
List Items:
Item 1
Item 2
Item 3
Ավելի բարդ HTML կառուցվածքների կառավարում
Վերոնշյալ օրինակը ցույց է տալիս հիմնական HTML գրություն: Այնուամենայնիվ, իրական աշխարհի HTML ֆայլերը կարող են ավելի բարդ լինել՝ ներառված տարրերով, ատրիբուտներով և տարբեր կառուցվածքներով: Նման սցենարները լուծելու համար ձեզ հարկավոր է անցնել HTML կառուցվածքը՝ օգտագործելով Beautiful Soup-ի կողմից տրամադրված տարբեր մեթոդներ, ինչպիսիք են find_all(), find_next() և select(): Փորձեք այս մեթոդներով և դիմեք «Գեղեցիկ ապուր» փաստաթղթերին՝ քերելու ավելի առաջադեմ տեխնիկայի համար:
Եզրակացություն
Այս հոդվածում մենք քննարկեցինք, թե ինչպես կարող ենք քերել տվյալները տեղական HTML ֆայլերից՝ օգտագործելով Beautiful Soup-ը և Python-ի հարցումների գրադարանը: Համատեղելով Python-ի ֆայլերի մշակման հնարավորությունները և Beautiful Soup-ի HTML-ի վերլուծման գործառույթները՝ մենք կարող ենք արժեքավոր տեղեկություններ կորզել մեր տեղական մեքենաներում պահվող HTML ֆայլերից: