WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   Vilken Scraping-teknik är bäst? (https://www.wn.se/forum/showthread.php?t=1047417)

dAEk 2011-04-01 19:46

Bara en sån till synes enkel sak som att validera en e-postadress kräver att man läser uttrycket noga. Trots att formatet är spikat är uttrycket svårt att läsa och samtidigt lätt att tolka fel. Jag kan bara tänka mig hur en regex-scraper för dåligt Html-kodade sidor ser ut... Dom scrapers jag har skrivit har varit för olika privata projekt och jag har testat lite olika sätt att hämta ut informationen. Iofs är jag inte direkt bra på regex men man märker ganska snabbt om det kommer funka med uppdateringar i långa loppet.

Kanske hade jag otur med sajterna som jag läste av men jag tycker ändå att det gick upp för en att det inte är en fråga om utan när man behöver uppdatera koden. När den dagen är kommen vill man som vanlig dödlig helst inte sitta med avancerad regex.

emilv 2011-04-01 19:49

Citat:

Ursprungligen postat av dAEk (Inlägg 20400682)
Bara en sån till synes enkel sak som att validera en e-postadress kräver att man läser uttrycket noga. Trots att formatet är spikat är uttrycket svårt att läsa och samtidigt lätt att tolka fel. Jag kan bara tänka mig hur en regex-scraper för dåligt Html-kodade sidor ser ut... Dom scrapers jag har skrivit har varit för olika privata projekt och jag har testat lite olika sätt att hämta ut informationen. Iofs är jag inte direkt bra på regex men man märker ganska snabbt om det kommer funka med uppdateringar i långa loppet.

Kanske hade jag otur med sajterna som jag läste av men jag tycker ändå att det gick upp för en att det inte är en fråga om utan när man behöver uppdatera koden. När den dagen är kommen vill man som vanlig dödlig helst inte sitta med avancerad regex.

Min erfarenhet är att det räcker med en eller ett par reguljära uttryck för att tolka en sida. Dagen när man måste uppdatera sin kod kommer nästan oavsett vilken metod man väljer (förutom de mest avancerade automatiska metoderna, som förstår tabeller, rubriker och en massa annat, och som tar månader eller år att skriva). Då ser jag ingen direkt skillnad mellan XPath och reguljära uttryck i svårighetsgrad.

tartareandesire 2011-04-01 19:52

Måste instämma att regex för det mesta är att föredra. Fördelarna uppväger definitivt eventuella nackdelar och är man hyfsat van blir det sällan alltför tidsödande.

Vilken teknik du än väljer så kan du vara säker på en sak nämligen att detta är inte en engångskostnad. Har du ett gäng scrapers igång så kommer du garanterat att behöva uppdatera dessa då och då. Det är tråkigt värre men inte mycket man kan göra åt det.

dAEk 2011-04-01 20:07

Citat:

Ursprungligen postat av tartareandesire (Inlägg 20400684)
Fördelarna uppväger definitivt eventuella nackdelar och är man hyfsat van blir det sällan alltför tidsödande.

Kan du nämna några för- resp. nackdelar?

Jag verkar vara ganska ensam om att ogilla regex för den här typen av uppgifter. :eek: Vad har jag missat?

Bjorne 2011-04-01 20:34

Nej, du är inte ensam och jag tror inte du missat någonting alls. Jag skulle vilja se någon skriva en parser som parsar ut brödtexten ur alla inlägg till en tråd på wn.se. Med xpath är det en baggis.

Bjorne 2011-04-01 20:35

Citat:

Ursprungligen postat av tartareandesire (Inlägg 20400535)
Det bör väl påpekas att det inte är särskilt ovanligt med en inkorrekt html-struktur.

Det är inget som helst problem för de flesta domparserbibliotek.

emilv 2011-04-01 21:43

Citat:

Ursprungligen postat av Bjorne (Inlägg 20400691)
Nej, du är inte ensam och jag tror inte du missat någonting alls. Jag skulle vilja se någon skriva en parser som parsar ut brödtexten ur alla inlägg till en tråd på wn.se. Med xpath är det en baggis.

Det är en baggis med reguljära uttryck också (särskilt eftersom inläggen verkar ha kommentarer i början och slutet, något som är extremt lätt att fånga med reguljära uttryck). Jag har förresten inte tagit ställning för eller emot någon teknik utan hävdar fortfarande att det beror på omständigheterna.

Magnus_A 2011-04-01 22:22

Det svåra är inte att tolka en sida. Utan att få fram en sida efter diverse POST med viewstate, kakhantering och redirect.

tartareandesire 2011-04-01 23:04

Citat:

Ursprungligen postat av Magnus_A (Inlägg 20400700)
Det svåra är inte att tolka en sida. Utan att få fram en sida efter diverse POST med viewstate, kakhantering och redirect.

Jupps, säga vad man vill om Microsofts produkter men de gör det helt klart svårare för snyltgäster. Sharepoint är ingen dålig produkt alls även om jag själv inte arbetar med Microsoft-produkter.

Clarence 2011-04-02 13:11

Citat:

Ursprungligen postat av dAEk (Inlägg 20400682)
Bara en sån till synes enkel sak som att validera en e-postadress kräver att man läser uttrycket noga. Trots att formatet är spikat är uttrycket svårt att läsa och samtidigt lätt att tolka fel.

Kanske hade jag otur med sajterna som jag läste av men jag tycker ändå att det gick upp för en att det inte är en fråga om utan när man behöver uppdatera koden. När den dagen är kommen vill man som vanlig dödlig helst inte sitta med avancerad regex.

Sitter du med Xpath-parser blir inte dina uttryck speciellt mycket roligare om du ska ha in lite valfria element, bakåtreferenser, text-parsers osv. Jag skulle snarare säga att du helt plötsligt får ett 5 gånger längre och mångt mycket krångligare uttryck. Eller så får du 5 ggr mer utomstående kod för sträng-hantering och jämförelse, och sedan ett bra antal xpath-uttryck att underhålla paralellt.

Kompetenta programmerare kan gå igenom regex, men en total röra med xpath blir värre.


Alla tider är GMT +2. Klockan är nu 04:37.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson