Toon posts:

[PHP] Backlink-checker bouwen

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hallo tweakers,
is al wat maanden geleden (misschien wel jaren) dat ik me hier meldde, maar probeer het nog eens met een vraag...de zoekfunctie bood helaas geen resultaat.
Ik wil een backlink checker bouwen die ik kan gebruiken voor mijn websites. Op zich best simpel; haal de content op van website x, en zoek op string b... maarrrr hier komt het, als deze bijv in een <div> staat met display:none; staat er in de html wel een link, maar is deze niet zichtbaar. En juist dit wil ik afvangen.

Zijn er hier tweakers die al eerder met zoiets gestoeid hebben? Er zijn meer manieren te bedenken om een link te verbergen op een pagina (hoge offset, overflow none, etc)....

Acties:
  • 0 Henk 'm!

  • Trucker Her
  • Registratie: Juni 2009
  • Niet online

Trucker Her

Someone ate my cookie :(

Er zijn zat manieren om dit te benaderen. Maar geef eens wat meer informatie?
Waarom zou je dit willen doen, wat wil je precies afvangen?

Bovendien kan je met Google hier vast een aantal kant-en-klare scripts voor vinden. Het is iets waar regelmatig vraag naar is, dus er moet vast wat te vinden zijn.

Bovendien zijn er hiervoor een aantal betaalde tools beschikbaar en het is zelfs mogelijk om dit met Google Webmaster Tools te doen ;)

Gestoord word je toch...


Acties:
  • 0 Henk 'm!

  • CH4OS
  • Registratie: April 2002
  • Niet online

CH4OS

It's a kind of magic

Wil je niet gewoon met regular expressions hiervoor aan de slag? :) Geen idee waarom dat zaken wat verborgen is met CSS niet zou zien.

Acties:
  • 0 Henk 'm!

  • Yemoke
  • Registratie: Mei 2003
  • Laatst online: 27-10-2024
Ik gok dat hij juist automatisch wil kijken of de link die hij vindt op een pagina ook daadwerkelijk zichtbaar is voor de gebruiker van de website.

Acties:
  • 0 Henk 'm!

  • DexterDee
  • Registratie: November 2004
  • Laatst online: 16:31

DexterDee

I doubt, therefore I might be

Wat jij in feite nodig hebt is een "echte" browser die CSS en javascript rendert en hierop een programmatische interface aanbiedt. Zodat je gemakkelijk kunt achterhalen of een link zichtbaar en klikbaar is.

Nadeel is dat je niet ergens op een server een browservenster open wil hebben. Het mooiste zou een commandline tool zijn zonder UI die toch een volledige browser emuleert en waar je middels een interface tegenaan kunt praten en opdrachten kunt geven. Gelukkig is die software er en doet deze precies wat je vraagt :)

Succes :Y)

Klik hier om mij een DM te sturen • 3245 WP op ZW


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Yemoke schreef op dinsdag 31 maart 2015 @ 00:45:
Ik gok dat hij juist automatisch wil kijken of de link die hij vindt op een pagina ook daadwerkelijk zichtbaar is voor de gebruiker van de website.
Wat Yemoke zegt dus, linkex is bijv een script waar men links mee kan uitwisselen, deze controleert het ook, maar houd geen rekening met verborgen links.

Acties:
  • 0 Henk 'm!

  • HuHu
  • Registratie: Maart 2005
  • Niet online
Ik zou op je server de pagina renderen met een browser, opslaan als afbeelding en dan met OCR je link zoeken.

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

HuHu schreef op dinsdag 31 maart 2015 @ 01:55:
Ik zou op je server de pagina renderen met een browser, opslaan als afbeelding en dan met OCR je link zoeken.
Dat is inderdaad de enige manier waarop je enigszins zeker iets kan zeggen over of het al dan niet gerenderd wordt. Er zijn meer manieren dan één om zo'n link onzichtbaar te maken. Display: none, visibility: hidden, tekstkleur gelijk maken aan de achtergrond, de tekst buiten de viewport positioneren, een container zonder breedte gebruiken, de link op een plaatje van 1x1 zetten, enzovoorts. Je kan hier gewoon niet tegenop boksen zonder vele manuren in elke edge case te steken...

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • Barryvdh
  • Registratie: Juni 2003
  • Nu online
OCR werkt alleen als ze de volledige link tonen ipv een titel ofzo.
Je zou eens kunnen kijken naar Selenium, dat wordt gebruikt om websites te testen met een echte browser.
Daar kan je ook tegenaan scripten: http://www.seleniumhq.org...-webdriver-api-by-example
Heeft ook een 'isVisible' methode volgens internet, maar je kan dus ook jQuery uitvoeren met de :visibile selector bijvoorbeeld.

Maar waarom wil je alleen de zichtbare links? Je wil meestal toch alle links controleren, ook als ze bijvoorbeeld niet direcht zichtbaar zijn (Dropdown menu? Carousel? Tabjes? etc).
Gewoon alle links op de pagina pakken is namelijk een stuk makkelijker, bijv. met Goutte (/Symfony DomCrawler)

PHP:
1
2
3
4
5
6
7
8
9
10
$client = new Goutte\Client();
$crawler = $client->request('GET', 'http://www.symfony.com/blog');
foreach ($crawler->filter('a')->links() as $link) {
    $childCrawler = $client->click($link);
    if ($client->getResponse()->getStatus() == 200){
        // Crawl $childCrawler
    } else {
        // Invalid link
    }
}

Acties:
  • 0 Henk 'm!

  • Yemoke
  • Registratie: Mei 2003
  • Laatst online: 27-10-2024
De reden waarom zal hier wel mee te maken hebben:
Hiding text or links in your content to manipulate Google’s search rankings can be seen as deceptive and is a violation of Google’s Webmaster Guidelines. When evaluating your site to see if it includes hidden text or links, look for anything that's not easily viewable by visitors of your site. Are any text or links there solely for search engines rather than visitors?
De vraag of je linkex script wordt gewaardeerd door Google is een andere vraag:
Any links intended to manipulate PageRank or a site's ranking in Google search results may be considered part of a link scheme and a violation of Google’s Webmaster Guidelines. Excessive link exchanges ("Link to me and I'll link to you") or partner pages exclusively for the sake of cross-linking.
Wat betreft:
NMe schreef op dinsdag 31 maart 2015 @ 02:25:
Dat is inderdaad de enige manier waarop je enigszins zeker iets kan zeggen over of het al dan niet gerenderd wordt. Er zijn meer manieren dan één om zo'n link onzichtbaar te maken. Display: none, visibility: hidden, tekstkleur gelijk maken aan de achtergrond, de tekst buiten de viewport positioneren, een container zonder breedte gebruiken, de link op een plaatje van 1x1 zetten, enzovoorts. Je kan hier gewoon niet tegenop boksen zonder vele manuren in elke edge case te steken...
Ik zou denk ik het element eerst van een kleur voorzien zodat het element waarneembaar wordt. En dan zoeken op dat kleurblok ipv OCR, zal vast sneller gaan.

[ Voor 28% gewijzigd door Yemoke op 01-04-2015 01:50 ]

Pagina: 1