Semalt Review: Web Scraping For Fun & Profit

Du kan skrapa webbplatsen utan att behöva ett API. Medan webbplatsägare är aggressiva när det gäller att sluta skrapa, bryr de sig mindre om API: er och lägger istället mer betoning på webbplatser. Fakta som många webbplatser inte tillräckligt skyddar mot automatisk åtkomst skapar ett spelrum för skrapare. Några enkla lösningar hjälper dig att skörda de data du behöver.

Komma igång med skrapning

Skrapning kräver förstå strukturen för de data du behöver och dess tillgänglighet. Detta börjar med att hämta dina data. Hitta webbadressen som returnerar den information du behöver. Bläddra igenom webbplatsen och kolla hur webbadresserna ändras när du navigerar genom olika avsnitt.

Alternativt kan du söka i flera termer på webbplatsen och kontrollera hur webbadresserna ändras baserat på ditt sökord. Du bör se en GET-parameter som q = som ändras när du söker efter en ny term. Behåll GET-parametrarna som krävs för att ladda dina data och ta bort de andra.

Hur man hanterar pagination

Pagination hindrar dig från att få åtkomst till all information du behöver på en gång. När du klickar på sida 2 läggs en offset = parameter till URL: n. Detta är antingen antalet element på en sida eller sidnumret. Öka detta nummer på varje sida i dina data.

För webbplatser som använder AJAX, dra upp nätverksfliken i Firebug eller Inspector. Kontrollera XHR-förfrågningarna, identifiera och fokusera på de som drar in dina data.

Hämta data från sidmarkering

Detta uppnås med hjälp av CSS-krokar. Högerklicka på en viss del av dina data. Dra i brandbuggen eller inspektören och zooma genom DOM-trädet för att få den yttersta <div> som slår in en enda artikel. När du har rätt nod från DOM-trädet, se sidkällan för att säkerställa att dina element är tillgängliga i rå HTML.

Om du vill skrapa webbplatsen behöver du ett HTML-parsing-bibliotek som läser i HTML och förvandlar det till ett objekt som du kan iterera tills du får det du behöver. Om ditt HTTP-bibliotek kräver att du ställer in några cookies eller rubriker, bläddra igenom webbplatsen i din webbläsare och få rubrikerna som skickas av din webbläsare. Lägg dem i en ordlista och vidarebefordra med din begäran.

När du behöver en inloggning för att skrapa

Om du måste skapa ett konto och logga in för att få de data du vill ha måste du ha ett bra HTTP-bibliotek för att hantera inloggningar. Skrapa-inloggning exponerar dig för webbplatser från tredje part.

Om takstgränsen för din webbtjänst beror på IP-adress anger du en kod som träffar webbtjänsten till ett Javascript på klientsidan. Vidarebefordra sedan resultaten tillbaka till din server från varje klient. Resultaten verkar ha sitt ursprung från så många platser, och ingen kommer att överskrida deras hastighetsgräns.

Dåligt formad markering

Vissa markeringar kan vara svåra att validera. I sådana fall gräver du i din HTML-parser för inställningar av feltolerans. Alternativt kan du behandla hela HTML-dokumentet som en lång sträng och göra strängdelning.

Även om du kan platsen skrapa alla typer av uppgifter på nätet några platser anställa programvara för att stoppa skrapning och andra förbjuder web skrot ing. Sådana webbplatser kan stämma dig och till och med få dig fängslade för att skörda uppgifterna. Så var smart i all din webbskrotning och gör det säkert.

mass gmail