Web scraping-ը, վեբկայքերից տվյալների արդյունահանման գործընթացը, դարձել է էական տեխնիկա տարբեր հավելվածների համար, ներառյալ տվյալների վերլուծությունը, հետազոտությունը և բիզնես հետախուզությունը: Python-ը տրամադրում է հզոր գործիքներ վեբ քերծման համար, և մենք կուսումնասիրենք, թե ինչպես կատարել վեբ գրություն՝ օգտագործելով Python Playwright բրաուզերի ավտոմատացման համար և Selectolax՝ HTML վերլուծության համար: Այս համադրությամբ դուք կարող եք ավտոմատացնել բրաուզերի առաջադրանքները և առանց ջանքերի արժեքավոր տեղեկություններ քաղել վեբ էջերից:
Ինչու՞ օգտագործել Python դրամատուրգը և Selectolax-ը:
Python Playwright-ը բազմակողմանի ավտոմատացման գրադարան է, որը մշակվել է Microsoft-ի կողմից, որը թույլ է տալիս կառավարել վեբ բրաուզերները, ինչպիսիք են Chromium-ը, Firefox-ը և WebKit-ը: Այն ապահովում է հեշտ օգտագործվող API բրաուզերների ավտոմատացման համար և հատկապես օգտակար է վեբ քերծման առաջադրանքների համար, որոնք պահանջում են փոխազդեցություն վեբ էջերի հետ:
Selectolax-ը արագ HTML և XML վերլուծող գրադարան է, որը թույլ է տալիս հեշտությամբ նավարկել HTML փաստաթղթերը: Այն առաջարկում է հարմար շարահյուսություն HTML տարրերից տվյալներ հանելու համար՝ այն դարձնելով իդեալական ընտրություն վեբ էջերը վերլուծելու և կոնկրետ տեղեկություններ հանելու համար:
Rich-ը Python գրադարան է, որը ձեզ հնարավորություն է տալիս գույն և ոճ ավելացնել տերմինալում ձեր տեքստի թողարկմանը: Rich-ի միջոցով դուք կարող եք ցուցադրել առաջադեմ բովանդակություն, ինչպիսիք են աղյուսակները, նշումները և շարահյուսական ընդգծված կոդը՝ ձեր հրամանի տողերի հավելվածները դարձնելով տեսողականորեն ավելի գրավիչ և տեղեկատվական:
Շրջակա միջավայրի կարգավորում. Նախքան վեբ գրության մեջ մտնելը, եկեք կարգավորենք միջավայրը՝ տեղադրելով անհրաժեշտ գրադարանները: Բացեք ձեր տերմինալը և կատարեք հետևյալ հրամանները.
pip install playwright pip install selectolax pip install rich
Վեբ գրություն Python դրամատուրգի և Selectolax-ի հետ
Մենք կստեղծենք պարզ Python սկրիպտ, որը քերծում է ապրանքի մասին տեղեկատվությունը առցանց գույքի կայքէջից: Մենք կհանենք յուրաքանչյուր ապրանքի ապրանքի անվանումը և գինը՝ օգտագործելով Python Playwright՝ բրաուզերի փոխազդեցությունները ավտոմատացնելու համար, իսկ Selectolax՝ HTML բովանդակությունը վերլուծելու համար:
# Import the required libraries from playwright.sync_api import sync_playwright from selectolax.parser import HTMLParser from dataclasses import dataclass from rich import print import csv # Define the data class to store product information @dataclass class Item: asin: str title: str price: str # Function to get the HTML content of a webpage given an ASIN def get_html(page, asin): url = f"https://www.iproperty.com.my/property/seremban/{asin}/" page.goto(url) html = HTMLParser(page.content()) return html # Function to parse the HTML content and extract product information def parse_html(html, asin): title_element = html.css_first("h1[class*=ProjectTitle]") price_element = html.css_first("div.property-price") if title_element is None or price_element is None: return None title = title_element.text(strip=True) price = price_element.text(strip=True) if not title or not price: return None item = Item(asin=asin, title=title, price=price) return item # Function to read ASIN values from a CSV file def read_csv(): with open('products.csv', 'r') as f: reader = csv.reader(f) return [item[0] for item in reader] # Function to perform web scraping for a single ASIN def run(asin): pw = sync_playwright().start() browser = pw.chromium.launch(headless=False) page = browser.new_page() html = get_html(page, asin) product = parse_html(html, asin) browser.close() pw.stop() return product # Main function to read ASIN values from CSV and initiate web scraping for each ASIN def main(): asins = read_csv() for asin in asins: product = run(asin) if product: print(product) if __name__ == "__main__": main()
Համատեղելով Playwright-ի հզոր հնարավորությունները և Selectolax-ի օգտատիրոջ համար հարմար վերլուծական առանձնահատկությունները՝ մենք հեշտությամբ կարող ենք ավտոմատացնել բրաուզերի առաջադրանքները և արժեքավոր տվյալներ կորզել վեբ էջերից:
Web scraping-ը բացում է ինտերնետից տեղեկատվություն հավաքելու, տվյալների վրա հիմնված որոշումներ կայացնելու և կրկնվող առաջադրանքների ավտոմատացման հնարավորությունների աշխարհ: Այնուամենայնիվ, կարևոր է օգտագործել վեբ քերծումը պատասխանատու կերպով և հարգել կայքի ծառայության պայմանները և դրույքաչափերի սահմանները՝ հնարավոր իրավական և էթիկական խնդիրներից խուսափելու համար:
Սկսեք քերել վեբ տվյալները Python-ով, և հնարավորություններն անսահման են: Շնորհավոր քերծվածք: