PROJEKT

Veebisaitide scrape seadistatava Python-automaatikaga

Kohandatud tarkvaraarendus, Veebisaidiandmete scrape, Seadistatav Python-automaatika, Struktureeritud CSV- ja JSON-eksport, JavaScripti lehtede renderdamine, Korduvad scrape'i käivitused, Andmebaasi- ja API-edastus

  • Valdkond: Uurimisteenused
  • Saksamaa Asukoht: Saksamaa
  • Tarneaeg: 10 nädalat
  • Tehnoloogiad: Python, JavaScript / TypeScript
3 kuud

Klient kulutab aega toodete, kuulutuste ja kontaktandmete kogumisele avalikelt veebisaitidelt. Käsitsi või juhuslik andmekogumine muudab korduva uurimistöö keerulisemaks. Tarkvara võtab vastu siht-URL-id või URL-mustrid, selektorid ja lehereeglid. See tagastab struktureeritud kirjed CSV-, JSON- või Excel-vormingus. Uurimisorganisatsioon saab ühe seadistatava tööriista korduvaks veebisaidiandmete eraldamiseks, sealhulgas brauseripõhist renderdamist vajavatelt lehtedelt.

Kokkuvõte

Probleem

Uurimisorganisatsioon kulutab aega käsitsi või juhusliku veebisaidiandmete kogumise asendamisele korduva andmete eraldamisega.

Lahendus

Lahendusest sai seadistatav scraper, mis järgib lehereegleid, käsitleb dünaamilist sisu ja ekspordib struktureeritud kirjeid.

Tulemus

Tarkvara on loodud käsitsi kogumise ja ebaühtlase andmete eraldamise vähendamiseks.

Kliendi lugu

Klient on Saksamaalt pärit uurimisorganisatsioon. See kogub uurimistöö jaoks avalikelt veebisaitidelt toodete, kuulutuste ja kontaktide andmeid.

Käsitsi ja juhuslik andmekogumine võtab meeskonnalt aega, eriti siis, kui sihtveebisaidid kasutavad lehekülgede numeratsiooni, muutuvat struktuuri ja dünaamilisi tabeleid.

Soov oli lihtne: võtta vastu siht-URL-id või URL-mustrid, seadistatavad selektorid või seadistusfailid ning tagastada valitud veebisaidi sisu struktureeritud kirjetena.

Lahendus kujundati seadistatavate väljareeglite, mitmeleheküljelise läbimise ja brauseripõhise renderdamise ümber. Ajastatud käivitused ja selged logid toetasid korduvat andmekogumist.

Klient soovis

  1. URL-ide, URL-mustrite, selektorite, XPath-ide või seadistusfailide vastuvõtmist
  2. Valitud sisu eraldamist struktureeritud kirjetesse
  3. Lehekülgede numeratsiooni järgimist lehtedel ja veebisaitidel
  4. JavaScripti lehtede, dünaamiliste tabelite ja laisklaadimise käsitlemist

Miks valmis tarkvara ei sobinud

Valmis andmete eraldamise tarkvara katab palju allikatüüpe, samas kui hallatud scrape'i teenused keskenduvad API-dele, brauseritaristule ja puhverserveritele. See klient vajas projektipõhiseid välju, selektoreid ja lehekülgede numeratsiooni reegleid. Lahendus pidi toetama ka kohalikku kasutust, dokumentatsiooni ja kindlaksmääratud väljundnõudeid.

Projekti ülevaade

Lahendus kavandati scrape'i seadistusekraani ümber, kus uurimisrühm määrab siht-URL-id, väljad ja selektorid. Saadaval on ka lehekülgede numeratsiooni reeglid ja väljundvormingud.

Erinevate lehestruktuuride käsitlemiseks kasutab scraper väljade, nähtava teksti ja tabelite seadistatavaid eraldamisreegleid. See läbib seotud lehti ja järgib vajadusel lehekülgede numeratsiooni.

JavaScripti lehtede, dünaamiliste tabelite ja laisklaaditava sisu jaoks pakuti brauseripõhist renderdamist. Staatilised lehed võivad selle asemel kasutada otse HTTP-päringuid ja HTML-i parsingu teeki.

Lahendus kujundati ka korduvaks kasutamiseks. See töötab käsurealt või kohalikus arvutis, toetab ajastamist ning registreerib tõrked ja korduskatsed.

Kogutud kirjed saab eksportida CSV-, JSON- või Excel-vormingusse. PostgreSQL, kerge REST JSON-i lõpp-punkt ja projekti dokumentatsioon toetavad kliendimeeskonna edasist kasutust.

Rakendatud põhifunktsioonid

  • Seadistatavad siht-URL-id ja URL-mustrid
  • Väljaselektorite ja XPath-i redaktor
  • Mitmeleheküljeline läbimine ja lehekülgede numeratsioon
  • JavaScripti ja laisklaaditava sisu renderdamine
  • CSV-, JSON- ja Excel-eksport
  • Kiiruspiirangud, viivitused, korduskatsed ja kasutajaagendi seaded
  • Käivituste ajalugu ja scrape'i logid
  • PostgreSQL-i või REST JSON-i edastus

Lisatavad funktsioonid

+ Robots.txt järgimise juhtelemendid + Pilvepõhine ajastamine + Andmete arhiveerimine + Projektipõhine dokumentatsioon + Täiendavad andmebaasivastendused

Kes saavad seda lahendust veel kasutada

Neil ettevõtetel on sarnane ülesanne ning sama lahendust saab kohandada nende avalike veebisaidiandmete kogumiseks.

Turu-uuringute agentuur

Ülesanne See kogub avalikelt veebisaitidelt toodete, turu ja kontaktide andmeid.
Kuidas lahendus aitab Lahendus aitab rakendada korduvaid eraldamisreegleid ja eksportida struktureeritud uurimiskirjeid.

Andmeanalüüsi meeskond

Ülesanne See kogub avalikelt veebisaitidelt kuulutusi, tabeleid ja valitud sisu.
Kuidas lahendus aitab Lahendus aitab järgida lehekülgede numeratsiooni, renderdada dünaamilisi lehti ning edastada kirjeid failidesse või andmebaasidesse.

Uurimiskonsultatsioon

Ülesanne See arhiveerib või analüüsib avalike veebilehtede nähtavat teksti ja struktureeritud sisu.
Kuidas lahendus aitab Lahendus aitab käivitusi ajastada, tõrkeid üle vaadata ja hoida loodud faile koos käivituste logidega.

Tehnoloogiakomplekt

Python

Automaatika keel

Python käitab seadistatavat scraperit, eraldamisreegleid, andmetöötlust ja eksporti.

JavaScript / TypeScript

Brauseriautomaatika keel

JavaScript või TypeScript toetab brauseriautomaatikat, kui kasutatakse brauseripõhist eraldamist.

Requests

HTML-lehtede päringud

Requests (Pythoni teek veebipäringute saatmiseks) laadib lehti otse eraldamiseks.

BeautifulSoup

Lehe HTML-i parsimine

BeautifulSoup (Pythoni teek HTML-i lugemiseks) leiab lehe märgendusest valitud väljad ja nähtava sisu.

Scrapy

Mitme lehe läbimine

Scrapy (Pythoni raamistik veebilehtede läbimiseks) järgib seotud lehti ja toetab mitmeleheküljelist eraldamist.

Playwright

Brauserilehtede renderdamine

Playwright on kõrgtaseme API veebibrauserite automatiseerimiseks brauseripõhise eraldamise ajal.

Pandas

Eraldatud andmete käsitlemine

Pandas korraldab eraldatud kirjed enne eksporti või edastamist.

openpyxl

Exceli failide kirjutamine

openpyxl (Pythoni teek Exceli failide lugemiseks ja kirjutamiseks) toetab XLSX-väljundit.

CSV

Tabelikirjete eksport

CSV salvestab eraldatud kirjed lihtsasse tabelifaili.

JSON

Struktureeritud kirjete eksport

JSON salvestab eraldatud väljad struktureeritud kirjetena failide või API-de jaoks.

Integratsioonid

PostgreSQL

Scraper kirjutab kogutud kirjed PostgreSQL-i, kui vaja on andmebaasi edastust.

REST JSON endpoint

Lahendus avaldab kogutud kirjed päringu korral kerge REST JSON-i lõpp-punkti kaudu.

Excel

Lahendus vahetab eraldatud kirjeid XLSX-failide kaudu.

Command line and local scheduling

Scraper töötab käsurealt või kohalikust arvutist cron-i või Windows Task Scheduleri abil.

Tulemus

Määra iga veebisaidi eraldamisreeglid

Ekraani seadistus hoiab sihtveebisaidid, väljad ja selektorid koos. Saadaval on ka lehekülgede numeratsiooni ja dünaamilise sisu seaded.

See annab uurimisrühmale selge koha, kus määrata enne käivitust, mida scraper kogub.

Kuidas see töötab

  1. Seadistus salvestab veebisaidi URL-id, vajalikud väljad ja selektorid või XPath-id.
  2. Scraper rakendab valitud lehesisule väljareegleid.
  3. Lehekülgede numeratsiooni ja dünaamilise sisu moodulid valmistavad käivituse ette seotud lehtede ja brauseris renderdatud sisu jaoks.
  • Siht-URL-id võivad olla üksikud aadressid või URL-mustrid.
  • Väljundid hõlmavad CSV-d, JSON-it või Excelit.
Märkus: Kiiruspiirangud, viivitused, kasutajaagendi seaded, korduskatsed ja robots.txt järgimise juhtelemendid toetavad vastutustundlikku kogumist.
Scraperi seadistamine

Scraperi seadistamine

Selle ekraani funktsioonid
Eralda valitud väljad Käsitle lehekülgede numeratsiooni Renderda dünaamilist sisu

Vaata struktureeritud veebisaidikirjeid

Tulemuste tabel esitab eraldatud väljad, nähtava teksti ja tabelid struktureeritud kirjetena.

CSV-, JSON- ja Excel-eksport hoiab kogutud andmed uurimisfailide ja edasise analüüsi jaoks valmis.

Kuidas see töötab

  1. Eraldamismoodul loob kirjed valitud väljadest, nähtavast tekstist, tabelitest või kuulutustest.
  2. Tulemuste tabel kuvab eraldatud väljad ja kirjete arvu.
  3. Ekspordimoodul loob CSV-, JSON- või XLSX-failid.
  • JSON sobib struktureeritud andmevahetuseks.
  • Excel on saadaval, kui eraldamise ulatus seda nõuab.
Eraldatud kirjed ja eksport

Eraldatud kirjed ja eksport

Selle ekraani funktsioonid
Eralda struktureeritud andmeid Ekspordi andmed CSV- või JSON-vormingusse

Jälgi käivitusi ja uuri tõrkeid

Käivituste ajalugu näitab sihtveebisaite, ajatempleid ja olekut. See salvestab ka vead, korduskatsed ja loodud failide teed.

Logid annavad meeskonnale praktilise võimaluse scraperi tegevust üle vaadata, kui leht muutub või käivitus vajab tähelepanu.

Kuidas see töötab

  1. Scraper salvestab käivituste ajatemplid, sihtveebisaidid ja õnnestumise või ebaõnnestumise oleku.
  2. Logivaatur kuvab veateateid ja korduskatsete teavet.
  3. Loodud failide lingid seovad iga käivituse selle CSV-, JSON- või logiteedega.
  • Käivituste ajalugu salvestab korduva kogumise tegevuse.
  • Veateated näitavad käivituse ajal registreeritud probleeme.
Käivituste ajalugu ja scraperi logid

Käivituste ajalugu ja scraperi logid

Selle ekraani funktsioonid
Logi scrape'i tegevust

Saada kirjed andmebaasi või API-sse

Edastusekraan valmistab kogutud kirjed ette andmebaasi või API kasutuseks, selle asemel et jätta need ainult ekspordifailidesse.

Väljade vastendamine skeemiga ja JSON-i kasuliku koormuse eelvaade aitavad sobitada eraldatud andmed sihtstruktuuriga.

Kuidas see töötab

  1. Sihtkoha moodul salvestab andmebaasi seaded või sihtkoha konfiguratsiooni.
  2. Vastendusmoodul sobitab eraldatud väljad sihttabeli skeemiga.
  3. Integratsioonimoodul salvestab skeemiga sobitatud JSON-i, andmebaasikirjed ja käivituste logid.
  • Lahendus toetab vajadusel PostgreSQL-i edastust.
  • Päringu korral on saadaval kerge REST JSON-i lõpp-punkt.
Andmebaasi või API edastus

Andmebaasi või API edastus

Mida lahendus pakub

Selle lahendusega saab uurimisorganisatsioon:

  • Määrata iga sihtveebisaidi eraldamisreeglid
  • Koguda valitud sisu lehekülgede numeratsiooniga lehtedelt
  • Käsitleda brauseris renderdatud ja laisklaaditavat sisu
  • Eksportida struktureeritud kirjeid CSV-, JSON- või Excel-vormingusse
  • Vaadata üle tõrkeid, korduskatseid ja loodud faile
  • Saata kogutud kirjed andmebaasi või API-sse

Kas valmis süsteemid saaksid ülesandega hakkama?

Enne kavandamist võrreldi ülesannet valmis toodetega nende endi kirjelduste põhjal.

Mida klient vajab Andmete eraldamise tarkvara Data Extraction Veebiscrape'i API-d Oxylabs, Zyte, Scrapfly Koodita scrape'i tööriistad Octoparse Kohandatud lahendus
URL-ide ja eraldamisreeglite vastuvõtmine
Valitud veebisaidi sisu eraldamine
Lehekülgede numeratsiooni järgimine
Dünaamilise brauserisisu käsitlemine osaliselt
Sobib kliendi enda reeglitega: etapid, rollid, aruanded — — —
Kõik sammud ühes kohas —
Programmide vahel pole käsitsi samme osaliselt osaliselt

Toodete ja nende kategooria avalike kirjelduste põhjal.

Ülesande põhiosad on olemas andmete eraldamise tarkvaras, veebiscrape'i API-des ja koodita scrape'i tööriistades. Valmistootest piisab, kui vaja on ainult üht ülesande osa.

See klient vajas oma tarkvara, sest eraldamisreeglid, kohalik kasutus, dokumentatsioon, väljundvormingud, logid ja sihtkoha nõuded pidid uurimistöö jaoks ühes kohas kokku sobima. Valmistooted erinevad ka selle poolest, kuidas nad käsitlevad programmidevahelisi käsitsi samme.

Lõpptulemus

Lõpptulemusena loodi lahendus, mis eemaldab käsitsi kogumise avalikelt veebisaitidelt struktureeritud uurimisandmeteni viivast protsessist.

KKK

Kas mõtlete sarnase süsteemi loomisele? Lugege allolevaid vastuseid, et näha, kuidas seadistatav scrape, ekspordid, brauseri renderdamine ja edastus uurimistöövoogu sobivad.