PROJEKT

Skrapa webbplatser med konfigurerbar Python-automatisering

Skräddarsydd programvaruutveckling, Skrapning av webbplatsdata, Konfigurerbar Python-automatisering, Strukturerad CSV- och JSON-export, Rendering av JavaScript-sidor, Återkommande skrapkörningar, Leverans till databas och API

  • Bransch: Marknadsundersökningstjänster
  • Tyskland Plats: Tyskland
  • Leveranstid: 10 veckor
  • Teknik: Python, JavaScript / TypeScript
3 månader

Den här kunden lägger tid på att samla in produkt-, annons- och kontaktdata från offentliga webbplatser. Manuell eller tillfällig insamling gör återkommande researcharbete svårare. Programvaran tar emot mål-URL:er eller URL-mönster, väljare och sidregler. Därefter returnerar den strukturerade poster i CSV, JSON eller Excel. Den ger en researchorganisation ett konfigurerbart verktyg för återkommande extrahering av webbplatsdata, även från sidor som kräver webbläsarbaserad rendering.

Sammanfattning

Problem

Researchorganisationen lägger tid på att ersätta manuell eller tillfällig insamling från webbplatser med återkommande extrahering.

Lösning

Lösningen blev en konfigurerbar skrapa som följer sidregler, hanterar dynamiskt innehåll och exporterar strukturerade poster.

Resultat

Programvaran är utformad för att minska manuell insamling och ojämn extrahering.

Kundberättelse

Kunden är en researchorganisation från Tyskland. Den samlar in produkt-, annons- och kontaktdata från offentliga webbplatser för researcharbete.

Manuell och tillfällig insamling kostar teamet tid, särskilt när målwebbplatser använder sidnumrering, föränderliga sidstrukturer och dynamiska tabeller.

Beställningen var enkel: ta emot mål-URL:er eller URL-mönster, konfigurerbara väljare eller konfigurationsfiler och returnera valt webbplatsinnehåll som strukturerade poster.

Lösningen utformades kring konfigurerbara fältregler, genomsökning av flera sidor och webbläsarbaserad rendering. Schemalagda körningar och tydliga loggar stödde återkommande insamling.

Kunden bad om

  1. Ta emot URL:er, URL-mönster, väljare, XPath eller konfigurationsfiler
  2. Extrahera valt innehåll till strukturerade poster
  3. Följa sidnumrering över sidor och webbplatser
  4. Hantera JavaScript-sidor, dynamiska tabeller och lazy loading

Varför färdig programvara inte passade

Färdig programvara för dataextrahering täcker många källtyper, medan hanterade skraptjänster fokuserar på API:er, webbläsarinfrastruktur och proxytjänster. Kunden behövde projektspecifika fält, väljare och sidnumreringsregler. Lösningen behövde också kunna köras lokalt, ha dokumentation och uppfylla definierade utdata krav.

Projektöversikt

Lösningen utformades kring en konfigurationsvy där researchteamet definierar mål-URL:er, fält och väljare. Regler för sidnumrering och utdataformat finns också tillgängliga.

För att hantera olika sidstrukturer använder skrapan konfigurerbara extraktionsregler för fält, synlig text och tabeller. Den genomsöker länkade sidor och följer sidnumrering vid behov.

Webbläsarbaserad rendering används för JavaScript-sidor, dynamiska tabeller och lazy-loadat innehåll. Statiska sidor kan i stället använda direkta HTTP-anrop och HTML-parsning.

Lösningen utformades också för återkommande körningar. Den körs från kommandoraden eller en lokal dator, stöder schemaläggning och registrerar fel och nya försök.

Insamlade poster kan exporteras till CSV, JSON eller Excel. PostgreSQL, en enkel REST JSON-endpoint och projektdokumentation stöder teamets fortsatta användning.

Viktiga levererade funktioner

  • Konfigurerbara mål-URL:er och URL-mönster
  • Redigerare för fältväljare och XPath
  • Genomsökning av flera sidor och sidnumrering
  • Rendering av JavaScript och lazy-loadat innehåll
  • CSV-, JSON- och Excel-export
  • Hastighetsbegränsningar, fördröjningar, nya försök och user-agent-inställningar
  • Körhistorik och skraploggar
  • Leverans via PostgreSQL eller REST JSON

Kan läggas till

+ Kontroller för robots.txt-efterlevnad + Molnschemaläggning + Dataarkivering + Projektspecifik dokumentation + Ytterligare databasmappningar

Vem mer kan använda lösningen

Dessa verksamheter har en liknande uppgift, och samma lösning kan anpassas för insamling av data från deras offentliga webbplatser.

En marknadsundersökningsbyrå

Uppgift Samlar in produkt-, marknads- och kontaktdata från offentliga webbplatser.
Så hjälper lösningen Lösningen hjälper verksamheten att använda återkommande extraktionsregler och exportera strukturerade researchposter.

Ett dataanalysteam

Uppgift Samlar in annonser, tabeller och valt innehåll från offentliga webbplatser.
Så hjälper lösningen Lösningen hjälper teamet att följa sidnumrering, rendera dynamiska sidor och leverera poster till filer eller databaser.

En researchkonsult

Uppgift Arkiverar eller analyserar synlig text och strukturerat innehåll från offentliga webbsidor.
Så hjälper lösningen Lösningen hjälper konsulten att schemalägga körningar, granska fel och spara genererade filer tillsammans med körloggar.

Teknikstack

Python

Automatiseringsspråk

Python kör den konfigurerbara skrapan, extraktionsreglerna, datahanteringen och exporterna.

JavaScript / TypeScript

Språk för webbläsarautomatisering

JavaScript eller TypeScript stöder webbläsarautomatisering när extraheringen sker i webbläsaren.

Requests

Hämta HTML-sidor

Requests (ett Python-bibliotek för att skicka webbanrop) hämtar sidor för direkt extrahering.

BeautifulSoup

Parsa sidans HTML

BeautifulSoup (ett Python-bibliotek för att läsa HTML) hittar valda fält och synligt innehåll i sidans markup.

Scrapy

Genomsök flera sidor

Scrapy (ett Python-ramverk för webbcrawling) följer länkade sidor och stöder extrahering från flera sidor.

Playwright

Rendera webbläsarsidor

Playwright är ett högnivå-API för automatisering av webbläsare vid webbläsarbaserad extrahering.

Pandas

Hantera extraherad data

Pandas organiserar extraherade poster före export eller leverans.

openpyxl

Skapa Excel-filer

openpyxl (ett Python-bibliotek för att läsa och skriva Excel-filer) stöder XLSX-utdata.

CSV

Exportera tabellposter

CSV lagrar extraherade poster i en enkel tabellfil.

JSON

Exportera strukturerade poster

JSON lagrar extraherade fält som strukturerade poster för filer eller API:er.

Integrationer

PostgreSQL

Skrapan skriver insamlade poster till PostgreSQL när databasleverans krävs.

REST JSON endpoint

Lösningen exponerar insamlade poster via en enkel REST JSON-endpoint när det efterfrågas.

Excel

Lösningen utbyter extraherade poster via XLSX-filer.

Command line and local scheduling

Skrapan körs från kommandoraden eller en lokal dator med cron eller Windows Task Scheduler.

Resultatet

Ställ in extraktionsregler för varje webbplats

Den konfigurationsvyn samlar målwebbplatser, fält och väljare. Inställningar för sidnumrering och dynamiskt innehåll finns också.

Det ger researchteamet en tydlig plats att definiera vad skrapan ska samla in före en körning.

Så fungerar det

  1. Konfigurationen sparar webbplats-URL:er, obligatoriska fält och väljare eller XPath.
  2. Skrapan tillämpar fältregler på valt sidinnehåll.
  3. Moduler för sidnumrering och dynamiskt innehåll förbereder körningen för länkade sidor och webbläsarrenderat innehåll.
  • Mål-URL:er kan vara enskilda adresser eller URL-mönster.
  • Utdata omfattar CSV, JSON eller Excel.
Obs: Hastighetsbegränsningar, fördröjningar, user-agent-inställningar, nya försök och kontroller för robots.txt-efterlevnad stöder ansvarsfull insamling.
Skrapkonfiguration

Skrapkonfiguration

Funktioner på den här skärmen
Extrahera valda fält Hantera sidnumrering Rendera dynamiskt innehåll

Granska strukturerade webbplatsposter

Tabellen med resultat visar extraherade fält, synlig text och tabeller som strukturerade poster.

CSV-, JSON- och Excel-export håller insamlade data redo för researchfiler och vidare analys.

Så fungerar det

  1. Extraktionsmodulen skapar poster från valda fält, synlig text, tabeller eller annonser.
  2. Resultattabellen visar extraherade fält och antal poster.
  3. Exportmodulen skapar CSV-, JSON- eller XLSX-filer.
  • JSON passar för strukturerat datautbyte.
  • Excel finns tillgängligt när extraktionens omfattning kräver det.
Extraherade poster och export

Extraherade poster och export

Funktioner på den här skärmen
Extrahera strukturerade data Exportera data till CSV eller JSON

Följ körningar och undersök fel

Den körhistoriken visar målwebbplatser, tidsstämplar och status. Den registrerar även fel, nya försök och sökvägar till genererade filer.

Loggarna ger teamet ett praktiskt sätt att granska skrapaktivitet när en sida ändras eller en körning behöver uppmärksamhet.

Så fungerar det

  1. Skrapan registrerar körningarnas tidsstämplar, målwebbplatser och status för lyckade eller misslyckade körningar.
  2. Loggvisaren visar felmeddelanden och information om nya försök.
  3. Länkar till genererade filer kopplar varje körning till dess CSV-, JSON- eller logsökvägar.
  • Körhistoriken registrerar återkommande insamlingsaktivitet.
  • Felmeddelanden visar problem som registrerats under en körning.
Körhistorik och skraploggar

Körhistorik och skraploggar

Funktioner på den här skärmen
Logga skrapaktivitet

Skicka poster till en databas eller ett API

Leveransvyn förbereder insamlade poster för databas- eller API-användning i stället för att lämna dem enbart i exportfiler.

Mappning mellan fält och schema samt en förhandsvisning av JSON-data hjälper till att anpassa extraherade data till målstrukturen.

Så fungerar det

  1. Destinationsmodulen sparar databasinställningar eller destinationskonfiguration.
  2. Mappningsmodulen kopplar extraherade fält till måltabellens schema.
  3. Integrationsmodulen registrerar schemamatchad JSON, databasposter och körloggar.
  • Lösningen stöder PostgreSQL-leverans vid behov.
  • En enkel REST JSON-endpoint finns tillgänglig för efterfrågade integrationer.
Leverans till databas eller API

Leverans till databas eller API

Vad lösningen ger

Med den här lösningen kan researchorganisationen:

  • Definiera extraktionsregler för varje målwebbplats
  • Samla in valt innehåll från sidnumrerade sidor
  • Hantera webbläsarrenderat och lazy-loadat innehåll
  • Exportera strukturerade poster till CSV, JSON eller Excel
  • Granska fel, nya försök och genererade filer
  • Skicka insamlade poster till en databas eller ett API

Klarar färdiga system uppgiften?

Före utformningen jämfördes uppgiften med färdiga produkter utifrån deras egna beskrivningar.

Vad kunden behöver Programvara för dataextrahering Data Extraction API:er för webbskrapning Oxylabs, Zyte, Scrapfly Skrapverktyg utan kod Octoparse Skräddarsydd lösning
Ta emot URL:er och extraktionsregler
Extrahera valt webbplatsinnehåll
Följa sidnumrering över flera sidor
Hantera dynamiskt webbläsarinnehåll delvis
Passar kundens egna regler: steg, roller och rapporter — — —
Alla steg på samma plats —
Inga manuella steg mellan program delvis delvis

Enligt produkternas och kategorins offentliga beskrivningar.

Huvuddelarna av uppgiften finns i programvara för dataextrahering, API:er för webbskrapning och skrapverktyg utan kod. En färdig produkt räcker när bara en del av uppgiften behövs.

Den här kunden behövde egen programvara eftersom extraktionsregler, lokal drift, dokumentation, utdataformat, loggar och destinationskrav behövde fungera tillsammans i researcharbetet. Färdiga alternativ skiljer sig också åt i hur de hanterar manuella steg mellan program.

Till sist

Till sist utformades lösningen för att ta bort manuell insamling ur flödet från offentliga webbplatser till strukturerade researchdata.

Vanliga frågor

Funderar du på att bygga ett liknande system? Läs svaren nedan för att se hur konfigurerbar skrapning, export, webbläsarrendering och leverans kan passa in i ett researchflöde.