Is féidir le sonraí a scríobadh ó YouTube a bheith dúshlánach mar gheall ar a ábhar dinimiciúil agus a bhearta frith-scrapála. Mar sin féin, leis na huirlisí agus na teicnící cearta, is féidir leat faisnéis úsáideach a bhaint go héifeachtach. San alt seo, siúilfimid tú tríd an bpróiseas chun sonraí físe YouTube a scríobadh ag baint úsáide as Python, Playwright, agus LXML.
Suiteáil na leabharlanna riachtanacha ag baint úsáide as PIP:
pip install playwright
pip install lxml
Suiteáil Binaries an Bhrabhsálaí Drámadóir:
playwright install
Chun na hainmhithe brabhsálaí cróimiam a shuiteáil, bain úsáid as an ordú seo a leanas:
playwright install chromium
Chun sonraí YouTube a scríobadh le Python, beidh na leabharlanna seo a leanas de dhíth ort go príomha:
import asyncio
from playwright.async_api import Playwright, async_playwright
from lxml import html
import csv
Seoladh brabhsálaí gan dídean leis an drámadóir, téigh go dtí an URL físe YouTube, agus fan go mbeidh an leathanach á luchtú go hiomlán.
Scrollaigh an leathanach chun níos mó tuairimí a luchtú.
browser = await playwright.chromium.launch(headless=True)
context = await browser.new_context()
page = await context.new_page()
# Nascleanúint a dhéanamh ar URL Video YouTube
await page.goto("https://www.youtube.com/watch?v=Ct8Gxo8StBU", wait_until="networkidle")
# Scrollú síos chun níos mó tuairimí a luchtú
for _ in range(20):
await page.mouse.wheel(0, 200)
await asyncio.sleep(0.2)
# Ag tabhairt roinnt ama d'ábhar breise a luchtú
await page.wait_for_timeout(1000)
Bain úsáid as ábhar HTML an leathanaigh ag baint úsáide as drámadóir agus é a pharsáil le LXML.
# Ábhar an leathanaigh a bhaint
page_content = await page.content()
# An t -ábhar HTML a pharsáil
parser = html.fromstring(page_content)
Sliocht na pointí sonraí riachtanacha (m.sh., teideal, cainéal, tuairimí) ag baint úsáide as abairtí XPath.
Bailigh na sonraí ábhartha go léir, lena n -áirítear meiteashonraí físe agus tuairimí.
# Sonraí físe a bhaint
title = parser.xpath('//div[@id="title"]/h1/yt-formatted-string/text()')[0]
channel = parser.xpath('//yt-formatted-string[@id="text"]/a/text()')[0]
channel_link = 'https://www.youtube.com' + parser.xpath('//yt-formatted-string[@id="text"]/a/@href')[0]
posted = parser.xpath('//yt-formatted-string[@id="info"]/span/text()')[2]
total_views = parser.xpath('//yt-formatted-string[@id="info"]/span/text()')[0]
total_comments = parser.xpath('//h2[@id="count"]/yt-formatted-string/span/text()')[0]
comments_list = parser.xpath('//yt-attributed-string[@id="content-text"]/span/text()')
Sábháil na sonraí eastósctha i gcomhad CSV le haghaidh anailíse agus stórála éasca.
# Na sonraí a shábháil ar chomhad CSV
with open('youtube_video_data.csv', 'w', newline='', encoding='utf-8') as file:
writer = csv.writer(file)
writer.writerow(["Title", "Channel", "Channel Link", "Posted", "Total Views", "Total Comments", "Comments"])
writer.writerow([title, channel, channel_link, posted, total_views, total_comments, ", ".join(comments_list)])
Tá ról ríthábhachtach ag seachvótálaithe maidir le scríobadh gréasáin, go háirithe agus iad ag déileáil le eastóscadh sonraí ar scála mór nó le suíomhanna le bearta dochta frith-bot cosúil le YouTube. Seo an chaoi a gcuirtear seachvótálaí i bhfeidhm sa script drámadóra:
Socrú seachfhreastalaí:
browser = await playwright.chromium.launch(
headless=True,
proxy={"server": "http://your_proxy_ip:port", "username": "your_username", "password": "your_password"}
)
Buntáistí a bhaineann le seachvótálaithe a úsáid:
Cinntíonn an cur i bhfeidhm seo go bhfuil sé níos dóchúla go mbraithfidh meicníochtaí frith-bot YouTube do ghníomhaíochtaí scríobtha.
Anseo thíos tá an cód iomlán chun sonraí físe YouTube a scrape ag baint úsáide as drámadóir agus LXML, lena n -áirítear cur i bhfeidhm seachvótálaí.
import asyncio
from playwright.async_api import Playwright, async_playwright
from lxml import html
import csv
# Feidhm asynchronous chun sonraí drámadóra a reáchtáil agus sonraí a bhaint amach
async def run(playwright: Playwright) -> None:
# Brabhsálaí gan dídean a sheoladh le Socruithe seachfhreastalaí
browser = await playwright.chromium.launch(
headless=True,
proxy={"server": "http://your_proxy_ip:port", "username": "your_username", "password": "your_password"}
)
context = await browser.new_context()
page = await context.new_page()
# Nascleanúint a dhéanamh ar URL Video YouTube
await page.goto("https://www.youtube.com/watch?v=Ct8Gxo8StBU", wait_until="networkidle")
# Scrollú síos chun níos mó tuairimí a luchtú
for _ in range(20):
await page.mouse.wheel(0, 200)
await asyncio.sleep(0.2)
# Ag tabhairt roinnt ama d'ábhar breise a luchtú
await page.wait_for_timeout(1000)
# Ábhar an leathanaigh a bhaint
page_content = await page.content()
# Brabhsálaí deiridh
await context.close()
await browser.close()
# An t -ábhar HTML a pharsáil
parser = html.fromstring(page_content)
# Sonraí físe a bhaint
title = parser.xpath('//div[@id="title"]/h1/yt-formatted-string/text()')[0]
channel = parser.xpath('//yt-formatted-string[@id="text"]/a/text()')[0]
channel_link = 'https://www.youtube.com' + parser.xpath('//yt-formatted-string[@id="text"]/a/@href')[0]
posted = parser.xpath('//yt-formatted-string[@id="info"]/span/text()')[2]
total_views = parser.xpath('//yt-formatted-string[@id="info"]/span/text()')[0]
total_comments = parser.xpath('//h2[@id="count"]/yt-formatted-string/span/text()')[0]
comments_list = parser.xpath('//yt-attributed-string[@id="content-text"]/span/text()')
# Na sonraí a shábháil ar chomhad CSV
with open('youtube_video_data.csv', 'w', newline='', encoding='utf-8') as file:
writer = csv.writer(file)
writer.writerow(["Title", "Channel", "Channel Link", "Posted", "Total Views", "Total Comments", "Comments"])
writer.writerow([title, channel, channel_link, posted, total_views, total_comments, ", ".join(comments_list)])
# Ag rith na feidhme asynchronous
async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
Seo rang teagaisc céim ar chéim maidir le Python, drámadóir, agus LXML a úsáid chun sonraí físe éagsúla YouTube a scríobadh, lena n-áirítear tuairimí. Déantar é seo trí sheachvótálaithe a úsáid agus trí chód a reáchtáil chun iompar na mbrabhsálaithe a ionsamhlú chun sonraí dinimiciúla a scríobadh go héifeachtach agus cloí leis na dea -chleachtais i scríobadh. Má theastaíonn faisnéis uait le haghaidh anailíse nó má chruthaíonn tú tacair shonraí, cuideoidh na modhanna sin leat deacrachtaí a bhíonn os comhair na n -ardán YouTube a shárú.
Tuairimí: 0