Ga naar de hoofdinhoud

HTML::LinkExtractor - Scraper van externe en interne links van een opgegeven website

Overzicht van de scraper

Overzicht van de scraperHTML::LinkExtractorHTML::LinkExtractor – scraper voor externe en interne links van een opgegeven website. Ondersteunt multithreading en navigatie door interne pagina's van de site tot een opgegeven diepte, wat het mogelijk maakt om alle pagina's van de site te doorlopen en interne en externe links te verzamelen. Heeft ingebouwde middelen om beveiliging te omzeilen CloudFlare en ook de mogelijkheid om te kiezen voor Chrome als engine voor het scrapen van e-mails van pagina's waarvan de gegevens door scripts worden geladen. Kan een snelheid bereiken tot 2000 aanvragen per minuut – dat zijn 120 000 links per uur.

Toepassingen van de scraper

Verzamelen van alle externe links van een website
  1. Voeg de optie Parse to level toe, kies in de lijst de waarde 10 (navigeren door naburige pagina's tot het 10e niveau).
  2. Voeg de optie Result format toe, geef als waarde $extlinks.format('$link\n') op (uitvoer van externe links).
  3. Vink in de sectie Queries (Query's) de optie Unique queries aan.
  4. Vink in de sectie Results (Resultaten) de optie Unique string aan.
  5. Geef als query de link op naar de website waarvan de externe links moeten worden gescraped.
Voorbeeld downloaden

Hoe een preset te importeren in A-Parser

eJxtU01v2zAM/S9CgK5AlrSHXnxLgwZb4dZdm57SHISYztTIoirRWQrD/32U7NjJ
1ptIvsfHL9WCpN/5JwceyItkVQsb3yIRORSy0iTGwkrnwYXwSvxYPqRJkiqzuzuQ
kxtCx4geWwv6tMBstKTQeI6pnM2YIoU9aPbspa4Yc33VnOD34JzK4Ugo0JWSuJa2
hI4iRnAgzeJ+0gK+XYyC+fZmLi5Fs16PRUvxixgODHs96Xrqgy9yD0sMKkrD4F6w
9SjLqJNLghA96lxO6BAyyDxXoTOpW4UwlUH11aiPWKcnp8yW8Ww6BX7hsGQ3QUwS
nJ/HCldiFG3BaarI/9VyREKugrHwXO1Cci15Hyik9hxRBE7yBrJu2Ekt0My0joMe
YDH9baV0zlucFUz62RG/hmT/5Wj6Dk+leGV/HNfQZ4nWbfYwsHJMccuNG+S2tSoV
se3nWJmwmyt27gBsP7bHACvRQS/TZe7U+VAtmHAfw9ZmdnCdtXG2mXPnBk2htll3
c0dkZZb8GzIzx9JqCH2ZSmveiofn4UJmvltDMIYC/yXPo8TZPyJE7e9f2lKtU3yB
N6HAkid5qtql3EitX5/T04gYLoqN30Q2mU7ld4ueFzpRpsCpCESCLfJFcVvNuv+/
/S+vv/zFSd3wwt79U4sO3QUs+3hMnrfBP7b5C6wbebo=

Vergelijkbaar met de eerste case, maar in stap 2 moet als waarde $intlinks.format('$link\n') worden opgegeven (uitvoer van interne links).

Voorbeeld downloaden

Hoe een preset te importeren in A-Parser

eJxtU8tu2zAQ/BfCQBrAtZNDL7o5Roy2cOI0j5PjA2GtXNYUyZIrN4Ggf++QkiW7
zY27O7OzL9aCZdiHB0+BOIhsXQuX3iITORWy0izGwkkfyMfwWnx9vltm2VKZ/e0b
e7ll64HosbXgd0dgW8fKmoCYymGmFEs6kIbnIHUFzPVVc4I/kPcqpyOhsL6UjFra
EjqKGCnDGuJh0gI+XYyi+fpqLi5Fs9mMRUsJixSODHc96Xrqg0/yQM82qihNg3sB
616WSSeXTDF61Lmc8FvMIPNcxc6kbhXiVAbVF6N+pzoDe2V2wMP0isLC2xJuppQk
Ot+PFa7FKNkCaarE/9FyRMa+orEIqHYhUUveBwqpAyKKyUtsYNUNO6uFNTOt06AH
WEp/UymdY4uzAqRvHfFjyOq/HE3f4akUVvbHo4Y+S7JuVncDK7dLu0PjxqJtrUrF
sMPcVibu5grOPZHrx3YfYaX11Mt0mTt1HKojE+9j2NrMDa6zNs42c+7cWlOo3aq7
uSOyMs/4DSszt6XTFPsyldbYSqDH4UJmoVtDNIYC/yXPk8TZP2Jrdfj+1JbqvMIF
fokFlpjkqWqXciu1fnlcnkbEcFEwfjK7bDqVn50NWOhEmcJORSQy7SwuCm01m/7/
9r+8/vAXZ3WDhf0KDy06dhex8GFMAdvAj23+ApcrebQ=
Alleen navigeren naar links die het woord forum niet bevatten
  1. Voeg de optie Parse to level toe, kies in de lijst de waarde 3 (navigeren door naburige pagina's tot het 3e niveau).
  2. Voeg de optie Result format toe, geef als waarde $query op.
  3. Voeg een filter toe. Filter op $followlinks.$i.link - Link, kies als type Not contain string, en geef als de regel zelf forum op.
  4. Vink in de sectie Queries (Query's) de optie Unique queries aan.
  5. Vink in de sectie Results (Resultaten) de optie Unique string aan.
  6. Geef als query de link op naar de website waarvan de links moeten worden gescraped.
Voorbeeld downloaden

Hoe een preset te importeren in A-Parser

eJxtVE1v2zAM/S/CDhuQJS2GXXxLgwbd4DZdm57SHISYzrTIkipRaQvD/33UR2xn
6ykh+R75+CG3DLk7uHsLDtCxYtMyE/+zglVQcy+RTZjh1oEN4Q27Wd+WRVEKdbh+
Q8t3qC0hemzL8N0AsbVBoZWjmKjIjClKOIIkz5FLT5hv3Qh+BGtFBSd8rW3DkaQk
BZnBPr14sO/Pz4qNuLWQCEFFhhcbokupXyWpDArCL9tOMnCdWErjTivkQo3yU1nf
kJ3Uk8MB9dBtt6fkbhmFBSnmcppn1Qcf+RHWOkmCwb0k6443sYGKI4ToNHX4+csU
30IGXlUi1OQyVQjTHqo+KfESBTq0Qu0JHwYhwC2tbsiNEJPE6ZwUbvK0Quc+8n8l
DivQepgwR2qXnLRUfaDm0lFE0Jg4bXaVl1i0TKu5lHGBAyymv/JCVnQd85pIPzLx
Y8jqvxxd3+G4FN3CqyUNfZZoXa1uB1alS72PW4z7bQSS7Rbaq7CbC3IeAEw/trsA
a7SFvkzOnKvTAzCgwuENW5ubwXXWxtlmzp10UbXYr/Ixn5BeremVrdRCN0ZC6Et5
KWkrDh6GC5m7vIZgDAL/JS9iibP3iVpL9/MxSTVW0AV+DwIbmuS4ak6541I+PZTj
CBsuiozfiKaYzfjX9PCnO93MWOAh7DUdFHXVbfvPQv/xaD/8OBRtR/v64+4TOjQX
sOSjKbn4yi67v8azl7c=

Verzamelde gegevens

  • Aantal externe links
  • Aantal interne links
  • Externe links:
    • de links zelf
    • ankerteksten
    • ankerteksten ontdaan van HTML-tags
    • nofollow-parameter
    • volledige <a> tag
  • Interne links:
    • de links zelf
    • ankerteksten
    • ankerteksten ontdaan van HTML-tags
    • nofollow-parameter
    • volledige <a> tag
  • Array met alle verzamelde pagina's (gebruikt bij de optie Use Pages)

Mogelijkheden

  • Multipage scraping (navigeren door pagina's)
  • Navigeren door interne pagina's van de site tot een opgegeven diepte (optie Parse to level) – maakt het mogelijk om alle pagina's van de site te doorlopen en interne en externe links te verzamelen
  • Limiet voor het volgen van links (optie Follow links limit)
  • Automatisch ontdoen van ankerteksten van HTML-tags
  • Detectie van nofollow voor elke link
  • Mogelijkheid om aan te geven subdomeinen als interne pagina's van de site te beschouwen
  • Ondersteunt compressie gzip/deflate/brotli
  • Detectie en conversie van website-coderingen naar UTF-8
  • Omzeilen van CloudFlare-beveiliging
  • Keuze van engine (HTTP of Chrome)

Gebruiksscenario's

  • Verkrijgen van een volledige sitemap (opslaan van alle interne links)
  • Verkrijgen van alle externe links van een website
  • Controleren van backlinks naar de eigen website

Query's

Als query's moeten links naar pagina's worden opgegeven waarvan links moeten worden verzameld, of een startpunt (bijvoorbeeld de hoofdpagina van de site) in gevallen waarin de optie Parse to level wordt gebruikt:

https://lenta.ru/
https://a-parser.com/wiki/index/

Voorbeelden van resultaatuitvoer

A-Parser ondersteunt flexibele resultaatopmaak dankzij de ingebouwde sjabloon-engine Template Toolkit, waardoor resultaten in willekeurige vorm kunnen worden uitgevoerd, evenals in gestructureerde formaten zoals CSV of JSON

Resultaatindeling:

External links: $extcount\n$extlinks.format('$link\n')
Internal links: $intcount\n$intlinks.format('$link\n')

Voorbeeldresultaat:

External links: 12
https://www.youtube.com/c/AParser_channel
https://t.me/a_parser
https://en.a-parser.com/
https://spyserp.com/ru/
https://sitechecker.pro/
https://arsenkin.ru/tools/
https://spyserp.com/
http://www.promkaskad.ru/
https://www.youtube.com/channel/UCvypGICrfCky8tPtebmIvQw
https://www.facebook.com/AParserRu
https://twitter.com/a_parser
https://www.youtube.com/c/AParser_channel

Internal links: 129
https://a-parser.com/
https://a-parser.com/
https://a-parser.com/a-parser-for-seo/
https://a-parser.com/a-parser-for-business-and-freelancers/
https://a-parser.com/a-parser-for-developers/
https://a-parser.com/a-parser-for-marketing-and-analytics/
https://a-parser.com/a-parser-for-e-commerce/
https://a-parser.com/a-parser-for-cpa/
https://a-parser.com/wiki/features-and-benefits/
https://a-parser.com/wiki/parsers/

Mogelijke instellingen

Naam parameterStandaardwaardeBeschrijving
Good statusAllSelectie van welk antwoord van de server als succesvol wordt beschouwd. Als er tijdens het scrapen een ander antwoord van de server komt, wordt de aanvraag herhaald met een andere proxy
Good code RegExMogelijkheid om een reguliere expressie op te geven voor het controleren van de responscode
Ban Proxy Code RegExMogelijkheid om proxy's tijdelijk te blokkeren (Proxy ban time) op basis van de serverresponscode
MethodGETAanvraagmethode
POST bodyInhoud die naar de server moet worden verzonden bij gebruik van de POST-methode. Ondersteunt variabelen $query – aanvraag-URL, $query.orig – oorspronkelijke query en $pagenum - paginanummer bij gebruik van de optie Use Pages.
CookiesMogelijkheid om cookies op te geven voor de aanvraag.
User agent_Automatisch wordt de user-agent van de actuele Chrome-versie ingevuld_De header User-Agent bij het opvragen van pagina's
Additional headersMogelijkheid om aangepaste aanvraagheaders op te geven met ondersteuning voor sjabloonmogelijkheden en gebruik van variabelen uit de query-builder
Read only headersAlleen headers lezen. In sommige gevallen bespaart dit verkeer als het niet nodig is om de inhoud te verwerken
Detect charset on contentCodering herkennen op basis van de pagina-inhoud
Emulate browser headersBrowserheaders emuleren
Max redirects count0Maximaal aantal redirects dat de scraper zal volgen
Follow common redirectsMaakt redirects mogelijk tussen http <-> https en www.domain <-> domain binnen hetzelfde domein, buiten de limiet van Max redirects count om
Max cookies count16Maximaal aantal cookies om op te slaan
EngineHTTP (Fast, JavaScript Disabled)Maakt het mogelijk om de engine te kiezen: HTTP (sneller, zonder JavaScript) of Chrome (langzamer, JavaScript ingeschakeld)
Chrome HeadlessAls deze optie is ingeschakeld, wordt de browser niet weergegeven
Chrome DevToolsMaakt het mogelijk om tools voor Chromium-debugging te gebruiken
Chrome Log Proxy connectionsAls deze optie is ingeschakeld, wordt informatie over Chrome-verbindingen in het logboek weergegeven
Chrome Wait Untilnetworkidle2Bepaalt wanneer een pagina als geladen wordt beschouwd. Meer over de waarden.
Use HTTP/2 transportBepaalt of HTTP/2 moet worden gebruikt in plaats van HTTP/1.1. Bijvoorbeeld, Google en Majestic blokkeren direct bij gebruik van HTTP/1.1.
Don't verify TLS certsUitschakelen van TLS-certificaatvalidatie
Randomize TLS FingerprintDeze optie maakt het mogelijk om blokkades van websites op basis van TLS-fingerprinting te omzeilen
Bypass CloudFlareAutomatisch omzeilen van CloudFlare-controle
Bypass CloudFlare with Chrome(Experimental)CloudFlare omzeilen via Chrome
Bypass CloudFlare with Chrome Max Pages20Max. aantal pagina's bij het omzeilen van CloudFlare via Chrome
Subdomains are internalOf subdomeinen als interne links moeten worden beschouwd
Follow linksInternal onlyWelke links moeten worden gevolgd
Follow links limit0Limiet voor Follow links, toegepast op elk uniek domein
Skip comment blocksOf commentaarblokken moeten worden overgeslagen