Citat:
Ursprungligen postat av Clarence
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.
|
Jo, men fördelen är att de är lätta att ändra även om det är fler uttryck. Det kanske blir en PITA i långa loppet, jag har inte haft någon scraper i drift som varat så länge. Som sagt, det jag har gjort i det här området är ganska litet och smalt. Det har mer eller mindre handlat om att extrahera statistik eller annan typ av tabelldata och i dom lägena har det varit enklare att använda något annat än regex. Skulle jag skriva en snurra som hämtade ut t.ex. alla e-postadresser på en sida hade jag nog gjort det med regex, så jag antar att det som några redan skrivit stämmer: det beror på fall till fall.
Som tur är finns ju bibliotek som gör livet enklare för utvecklare. För .NET är HtmlAgilityPack och Fizzler två trevliga lösningar. De innebär att man kan använda API:t för det mesta men möjligheten att ställa XPath-frågor mot dokumentet finns fortfarande kvar.