Conas sonraí Google Trends a scrape ag baint úsáide as Python

Tuairimí: 0

Trí úsáid a bhaint as Python agus drámadóir chun sonraí a scrapáil ó Google Trends, is féidir scrúdú mionsonraithe a dhéanamh ar an tóir ar eochairfhocail agus monatóireacht ar athruithe treochta le himeacht ama. Tugann an cur chuige seo léargas ríthábhachtach ar anailísíocht margaíochta.

Réamhriachtanais

Sula dtéann tú isteach sa chód, cinntigh go bhfuil na huirlisí seo a leanas suiteáilte agat:

  • Python 3.7+;
  • Leabharlann drámadóra.

Is féidir leat drámadóir a shuiteáil ag úsáid Pip:

pip install playwright

Chun an drámadóir a úsáid le cód neamhghnách, beidh leabharlann Asyncio de dhíth ort freisin, atá san áireamh i Python 3.7+ de réir réamhshocraithe.

Drámadóir a chumrú chun obair le Google Trends

Bainfimid úsáid as drámadóir, uirlis uathoibrithe brabhsálaí cumhachtach, chun suíomh gréasáin Google Trends a nascleanúint agus chun comhaid CSV ina bhfuil sonraí treochta a íoslódáil. Treoróidh an rang teagaisc seo tú tríd an bpróiseas iomlán.

Suiteáil drámadóra

Ar dtús, cinntigh go bhfuil an drámadóir suiteáilte:

playwright install

Mura bhfuil tú ag iarraidh na brabhsálaithe go léir a shuiteáil ní úsáideann tú an t -ordú seo ach chun brabhsálaí cróimiam a shuiteáil.

playwright install chromium

Cumraíocht seachfhreastalaí

Nuair a bhíonn ardáin scríobtha cosúil le Google, a chuireann i gcoinne gníomhaíocht BOT go gníomhach, tá sé riachtanach proxies a úsáid. Cuireann seachvótálaithe ar chumas uainíochta IP, ag cuidiú leis an riosca a bhaineann le bac a chur ar an mbaol a laghdú. Inár script, bainimid úsáid as seachvótálaithe príobháideacha chun ár n -iarratais a chur ar bhealach.

proxy = {
    "server": "IP:PORT",
    "username": "your_username",
    "password": "your_password"
}

Cuir na sonraí iarbhír ó do sheachfhreastalaí in ionad na n -athróg IP, calafort, ainm úsáideora, agus pasfhocal.

Próiseas céim ar chéim ag obair le drámadóir

Sa sampla seo, déanaimid nascleanúint ar dtús chuig Google.com chun aon bhloic fhéideartha a sheachbhóthar sula dtéann tú chuig leathanach Google Trends. Déantar é seo chun gnáth -iompar úsáideora a aithris agus a bhrath a sheachaint.

Céim 1: Ag ullmhú chun oibriú le Google Trends

Baineann an chéim seo le réamhghníomhartha chun cosc ​​a chur ar a bheith bratach agus blocáilte ag Google:

  • Ag seoladh an bhrabhsálaí: Baineann sé seo le cás den bhrabhsálaí cróimiam atá cumraithe le suíomhanna seachfhreastalaí a thosú. Cuidíonn úsáid seachvótálaithe leis an seans go mbraitear iad a bhrath trí ghníomhaíocht scríobtha a cheilt mar úsáid bhrabhsálaí rialta;
  • Ag dul chuig Google: Trí rochtain a fháil ar Google.com ar dtús, cuireann sé córais rianaithe Google i láthair maidir le láithreacht an méid a fheictear dó mar úsáideoir nua. Laghdaíonn an chéim loingseoireachta shimplí seo an dóchúlacht go mbeidh gníomhaíochtaí ina dhiaidh sin á rangú mar BOT-mhaith, rud a sheachnaíonn blocáil láithreach.
import asyncio
from playwright.async_api import Playwright, async_playwright

async def run(playwright: Playwright) -> None:
    # Ag seoladh an bhrabhsálaí le Socruithe Proxy
    browser = await playwright.chromium.launch(headless=False, proxy={
        "server": "IP:PORT",
        "username": "your_username",
        "password": "your_password"
    })
    
    # Comhthéacs nua brabhsálaí a chruthú
    context = await browser.new_context()
    
    # Leathanach nua a oscailt
    page = await context.new_page()
    
    # Ag tabhairt cuairte ar Google chun gnáth -bhrabhsáil a aithris
    await page.goto("https://google.com")

Céim 2: Sonraí a loingseoireacht agus a íoslódáil ó Google Trends

Ansin, nascleanúint go díreach chuig leathanach Google Trends ina bhfuil na sonraí riachtanacha suite. Soláthraíonn Google Trends roghanna chun na sonraí a íoslódáil go díreach i bhformáid CSV, a éascaíonn an próiseas eastósctha. Uathoibrigh an gníomh a bhaineann le cliceáil ar an gcnaipe "Download" chun tús a chur leis an íoslódáil sonraí. Ligeann sé seo do shonraí treochta a bhaint gan idirghabháil láimhe. Nuair a bheidh an cnaipe “íoslódáil” le feiceáil, ba chóir go leanfadh an uathoibriú ar aghaidh chun é a chliceáil, ag cur tús le híoslódáil an chomhaid CSV ina bhfuil na sonraí treochta is gá.

 # Ag dul chuig Google Trends
    await page.goto("https://trends.google.com/trends/explore?q=%2Fg%2F11bc6c__s2&date=now%201-d&geo=US&hl=en-US")
    
    # Ag fanacht leis an gcnaipe íoslódála agus cliceáil air
    async with page.expect_download() as download_info:
        await page.get_by_role("button", name="file_download").first.click()
    
    # Ag láimhseáil an íoslódála
    download = await download_info.value
    print(download.suggested_filename)

Céim 3: Sonraí a shábháil agus deireadh a chur leis an seisiún

Sábháltar an comhad CSV íoslódáilte go huathoibríoch in eolaire sonraithe ar do ghléas áitiúil.

 # An comhad íoslódáilte a shábháil
    await download.save_as("/path/to/save/" + download.suggested_filename)

Comhlíonadh cód sampla

Seo an cód iomlán chun sonraí Google Trends a íoslódáil mar chomhad CSV ag baint úsáide as drámadóir:

import asyncio
import os
import re
from playwright.async_api import Playwright, async_playwright


async def run(playwright: Playwright) -> None:
   # Brabhsálaí a sheoladh le Socruithe seachfhreastalaí
   browser = await playwright.chromium.launch(headless=False, proxy={
       "server": "IP:PORT",
       "username": "your_username",
       "password": "your_password"
   })

   # Comhthéacs Brabhsálaí Nua a chruthú
   context = await browser.new_context()

   # Leathanach nua a oscailt
   page = await context.new_page()

   # Tabhair cuairt ar Google chun braite a sheachaint
   await page.goto("https://google.com")

   # Nascleanúint a dhéanamh le Google Trends
   await page.goto("https://trends.google.com/trends/explore?q=%2Fg%2F11bc6c__s2&date=now%201-d&geo=US&hl=en-US")

   # Cliceáil ar an gcnaipe Íoslódála
   async with page.expect_download() as download_info:
       await page.get_by_role("button", name=re.compile(r"file_download")).first.click()

   # Sábháil an comhad íoslódáilte
   download = await download_info.value
   destination_path = os.path.join("path/to/save", download.suggested_filename)
   await download.save_as(destination_path)

   # Dún an comhthéacs agus an brabhsálaí
   await context.close()
   await browser.close()


async def main() -> None:
   async with async_playwright() as playwright:
       await run(playwright)


asyncio.run(main())

Tar éis na treorach seo, is féidir leat sonraí treochta a íoslódáil go héifeachtach, uainíocht seachfhreastalaí a bhainistiú, agus meicníochtaí cosanta bot a sheachbhóthar. Chun seachaint éifeachtach a sheachaint, tá sé ríthábhachtach freastalaithe seachfhreastalaí iontaofa a úsáid. Moltar go mór do sheachvótálaithe cónaitheacha, a thairgeann seoltaí IP dinimiciúla agus nach dteastaíonn cumraíocht uainíochta uathu. Mar mhalairt air sin, tá seachvótálaithe ISP éifeachtach freisin; Ceannaigh an líon riachtanach de IPS agus cuir uainíocht IP rialta ar bun i do script. Cinntíonn ceachtar den dá rogha an riosca íosta a bhaineann le blocáil agus captcha, ag éascú scríobadh sonraí níos tapúla agus níos fusa.

Tuairimí:

0 tuairimí