Spider/crawler

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Webshop beheerder / Fullstack developer

Functie omschrijving Wij zijn op zoek naar een full stack developer die zich bezig gaat houden met het uitbreiden en verbeteren van de online webshop. Een onderdeel van jouw werkzaamheden is naast het beheren van de webshop ook om de processen en structuren te stroomlijnen. Ben jij een leergierige en ambitieuze junior developer met technische skills? Ben jij op zoek naar een werkgever die jouw de volledige vrijheid geeft om jezelf tot een volwaardige senior te ontwikkelen? Lees dan snel verder! Werkzaamheden Onderhouden van de webshop (denk aan het bijhouden van de voorraad); Nieuwe functies toevoegen aan de product configurator

Bekijk vacature »

Database Developer

Functieomschrijving Heb jij ongeveer 3 jaar ervaring als Database Developer met MS SQL of een vergelijkbare database? Wil jij werken voor een ambitieuze werkgever in regio Tilburg waar jij volledig de mogelijkheid krijgt jezelf te ontwikkelen? Lees dan snel verder! Hoe ziet jouw takenpakket eruit? Je gaat projecten gedurende het hele proces begeleiden. Je sluit aan bij afspraken met klanten om hun processen helder te krijgen. Vervolgens voer jij het project uit en zorgt dat dit zo goed mogelijk verloopt; Je werkt aan nieuwe softwareoplossingen die de logistieke processen verbeteren of vernieuwen; Je houdt je bezig met het ontwikkelen van

Bekijk vacature »

C# .NET Developer

Dit ga je doen Als developer nieuwe gave features implementeren; Werken met technieken als C# .NET en (REST) API's webservices; Ontwikkelen van koppelingen middels API's; Maken van technische keuzes en beslissingen over de architectuur; Junior collega's coachen; Initiatief nemen voor nieuwe technische mogelijkheden; Je bent een belangrijke schakel - en vindt het leuk - om te schakelen met de business. Hier ga je werken In een klein team van professionals ben je als C# .NET Developer verantwoordelijk voor het ontwikkelen van één van de applicaties voor het grootste inhouse product: een applicatie voor alles omtrent hypotheken. De programmeertaal die je

Bekijk vacature »

Applicatie Ontwikkelaar

Bedrijfsomschrijving DUO verzorgt als uitvoeringsorganisatie, zijnde onderdeel van het Ministerie van Onderwijs, Cultuur en Wetenschap de uitvoering van complexe wet- en regelgeving en heeft een uitgebreid dienstenpakket. DUO financiert en informeert onderwijsdeelnemers en onderwijsinstellingen. Voor verdere informatie zie www.duo.nl Functieomschrijving Wie zoeken we? Jij bent een enthousiaste, flexibele OPS’er die het leuk vindt om het bestaande examenlandschap te vernieuwen. Je bent leergierig en hebt interesse in cloud- en containertechnieken zoals OpenShift, Docker en Helm. Je gaat een uitdaging niet uit de weg en wil je nieuw opgedane kennis graag delen met de collega’s binnen en buiten het team. Doordat de

Bekijk vacature »

Embedded Software Developer

Functie omschrijving Voor een mooi softwarebedrijf in omgeving Moordrecht zijn wij op zoek naar een Embedded Software developer. Ben jij enthousiast en een echte team player? Lees dan snel of dit iets voor jou is! Binnen deze rol houdt jij je bezig met alle werkzaamheden die nodig zijn om een functionaliteit te bouwen. Denk aan ontwerpen, architectuur, programmeren en algoritmes. Je voert test en validatie werkzaamheden uit bij de implementatie bij de klant. Ben jij een Embedded Software Developer die affiniteit heeft met de allernieuwste technieken? Laat dan snel wat van je horen! Bedrijfsprofiel Onze opdrachtgever bestaat uit een groot

Bekijk vacature »

Front-end developer (HTML, CSS, SASS, JavaScript)

Functie Momenteel zijn we voor ons Digital team op zoek naar een (medior) Front-end developer. Samen met je collega’s werk je in een Agile/Scrum omgeving aan de ontwikkeling van onze webapplicaties, websites en andere oplossingen. Je draagt bij aan een sterk ontwikkelproces waarin kwaliteit voorop staat. Hiervoor ben je niet alleen bezig met eigen code maar ook code reviews van andere collega’s. Ben jij graag op de hoogte van de nieuwste ontwikkelingen in je vakgebied en wil je deze toepassen voor diverse projecten? Dan komen wij graag met je in contact! Eisen • HBO werk- en denkniveau • Minimaal 2

Bekijk vacature »

Android developer

De functie Schiphol is een plek om te reizen, te verblijven en te werken. Door middel van data en technologie richten we op al deze gebieden het leef- en werkklimaat optimaal in en zorgen we voor een slimmere en efficiëntere operatie. Wij ontwikkelen nieuwe producten en diensten vanuit de wensen en behoeften van onze klanten, voorspellen passagier flows en testen digitale oplossingen om rijen en andere pijnpunten in het proces te verminderen. Met slimme feedback van sensortechnologie maken we zelfs data van toiletten en stoelen inzichtelijk en bruikbaar. Het Commercial Platform bestaat uit multidisciplinaire teams met een end-2-end verantwoordelijkheid voor

Bekijk vacature »

Medior Java developer (fullstack)

Wat je gaat doen: Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

Bekijk vacature »

BizTalk/ Azure Developer

Dit ga je doen •Understanding the scope of required functionality, translate them within context of way of working of the team into developed solutions, whilst safeguarding documentation; •Planning based on assigned sprint tasks; •Acting as an expert in estimation techniques and planning; •Understanding your role in the agile process and act in this way; •Facilitating internal communication and effective collaboration; •Working closely with scrum master to handle backlogs and new requests; •Providing information to the third parties about activities and needs for compliance. Hier ga je werken Our client is a leading organization focusing on animal nutrition, offering solutions that

Bekijk vacature »

.NET Developer

Dit ga je doen Programmeren in .NET, Javascript & C# en ontwikkelen in Web Services, Windows Services en MS SQL Server; Zelfstandig verbanden maken Analyseren, testen, bugs fixen, reviewen en rapporteren; Juiste prioriteiten stellen en verantwoordelijkheid nemen; Op architectuur niveau meedenken; Af en toe klanten bezoeken. Hier ga je werken Voor onze relatie zijn wij opzoek naar een .NET ontwikkelaar met minimaal 3 jaar werkervaring. Je komt te werken in een groeiend bedrijf met betrokken collega's die zorgen voor een familiaire sfeer op de werkvloer. Als .NET ontwikkelaar word jij vanaf de eerste werkdag betrokken bij het gehele ontwikkelproces. De

Bekijk vacature »

Senior Front-End Developer

Als Senior Front-End Developer bij Coolblue verbeter je de gebruiksvriendelijkheid van onze webshop voor miljoenen klanten. Wat doe je als Senior Front-End Developer bij Coolblue? Als Senior Front-end Developer werk je aan de gebruiksvriendelijkheid van onze webshop voor miljoenen klanten. Je vindt het leuk om samen te werken met de UX designer om stories op te pakken. Daarnaast ben je trots op je werk en verwelkomt alle feedback. Ook Senior Front-end Developer worden bij Coolblue? Lees hieronder of het bij je past. Dit vind je leuk om te doen Verbeteren van de gebruiksvriendelijkheid van onze webshop voor miljoenen klanten. Nadenken

Bekijk vacature »

PHP Developer

Functie omschrijving Als PHP / Laravel developer zal je in een klein team terecht komen. Wij zijn op zoek naar een echte specialist, iemand die de balans weet te vinden tussen techniek en perfectie. In de aankomende jaren wilt dit bedrijf flink groeien en daarom zijn ze op zoek naar jou! Wat ga je doen? Je draagt bij aan het ontwikkelen en onderhouden van bestaande webapplicaties die boordevol functionaliteit zitten. Deze applicaties worden gebruikt door de organisatie zelf en ook door de klanten. Inmiddels wordt er gewerkt met Laravel 8 en zijn er diverse koppelingen naar externe leveranciers. Verder zal

Bekijk vacature »

Embedded Software Developer Games

Functie omschrijving Heb jij affiniteit met hardware en wil jij kleuren binnen een Qt framework? Spreek jij de talen C en of C ++? Dan ben ik wellicht opzoek naar jou! Voor een super gave opdrachtgever in omgeving Delft is er namelijk plek voor een nieuwe kracht! Dit bedrijf is gespecialiseerd in het ontwerpen van software voor een unieke game industrie. Wil jij betrokken worden bij een proces dat loopt van ontwikkeling tot installatie? Waarbij je bezig zult zijn met perfecte systemen die geleverd worden aan binnen en buitenland? Je zult in een team, samen met vier ontwikkelaars, de mooiste

Bekijk vacature »

Software Programmeur PHP - JAVA

Functie Voor een opdrachtgever in omgeving Zoetermeer zijn wij op zoek naar een ontwikkelaar ter versterking van het huidige developers team. Heb jij altijd al willen werken voor een bedrijf, dat veilige netwerkverbindingen levert, door middel van veilige oplossingen, die door middel van de nieuwste technologieën ontwikkelt zijn? Stop dan nu met zoeken! Hoe kan jouw dag er straks uitzien? Je gaat software en webapplicaties ontwikkelen met behulp van de talen C / C++ / PHP. Je gaat technische klussen uitvoeren op locatie bij klanten. Je onderhoudt contact met de projectleider om er zeker van te zijn dat een projecten

Bekijk vacature »

Front-end (Angular) developer - remote werken

Functie Als Front-end (Angular) developer ga je aan de slag met het uitbouwen van hun webapplicatie, als één van de front-end experts ga je samen met collega’s in een devops team werken aan een nieuw front-end voor hun calculatie oplossing. Binnen de calculatiesoftware kunnen meerdere professionals tegelijk samenwerken, 3D calculaties uitvoeren en ook inzien met de benodigde specifieke details. Deze software wordt veel ingezet om projectbeschrijvingen en kosten in kaart te brengen, en tijdens de uitvoering te bewaken. Maar hiernaast liggen er in de toekomst veel meer plannen op het gebied van front-end in de andere applicaties. Genoeg te doen

Bekijk vacature »
Peter  paul

peter paul

18/04/2011 12:06:36
Quote Anchor link
Ik ben op zoek naar een tutorial /script van een zeer eenvoudige spider. Ik zou graag willen dat ik een URL opgeef en dat hij deze door loopt opzoek naar URL.

Ik heb uiteraard al rond gekeken en er is veel te vinden, maar deze scripts zijn zo uitgebreid dat ik als beginner er niet veel mee kan.

Ik heb de laatste paar dagen vele pagina’s gelezen over OOP. Nou wil ik dit uiteraard zelf proberen bij mijn spider, maar ik heb geen flauw idee welke indeling ik in mijn class moet maken. Kan iemand mij een zetje in de goede richting geven

BVD

PP
 
PHP hulp

PHP hulp

15/05/2024 10:24:58
 
Arjan -

Arjan -

18/04/2011 12:07:54
Quote Anchor link
Een spider systeem ontwikkelen is niet bepaald kinderspel. Als je, ondanks jouw eerdere zoektocht, nog open staat voor een spider script dan raad ik je aan eens te kijken naar: http://phpcrawl.cuab.de/

Even de documentatie bekijken en je snapt het principe (zie voor een voorbeeld: http://phpcrawl.cuab.de/example.html).
Gewijzigd op 18/04/2011 12:09:09 door Arjan -
 
Peter  paul

peter paul

19/04/2011 11:59:00
Quote Anchor link
ik heb het bekeken, en ik ben tot het volgende gekomen, het is een zeer simpele opzet maar hey het is een begin.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php

$bron
= file_get_contents('http://www.google.com/');

$pattern = "/<[ ]{0,}a[ \n\r][^<>]{0,}(?<= |\n|\r)(?:href)[ \n\r]{0,}=[ \n\r]{0,}[\"|']{0,1}([^\"'>< ]{0,})[^<>]{0,}>((?:(?!<[ \n\r]*\/a[ \n\r]*>).)*)<[ \n\r]*\/a[ \n\r]*>/ is";

    preg_match_all($pattern, $bron, $matches);    
    

foreach ($matches[1] as $key => $url){
    echo "Url:&nbsp;&nbsp;" . $url . "</br>Titel:&nbsp;&nbsp;" . $matches[2][$key]. "</br></br>";
}


?>


Ik zou graag wat dingen veranderen waar ik niet uit kom:

Ik wil dat wanneer hij een match gevonden heeft hij die match meteen echo-ed is dit mogelijk zo ja, hoe?

Ik heb ook wat andere sites geprobeerd http://www.youtube.com http://nl.yahoo.com/ maar als ik mijn pagina dan open krijg ik de volgende error "Apache HTTP Server werkt niet meer" iemand een idee wat ik hier aan kan doen?
 
Jelmer -

Jelmer -

19/04/2011 12:11:27
Quote Anchor link
preg_match_all geeft je alle matches in één keer terug, maar dat zou geen probleem moeten zijn.

Hier werkt je script trouwens wel gewoon goed. Zet eens de error-reporting aan? Misschien krijg je dan een bruikbare foutmelding te zien:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
error_reporting(E_ALL);
ini_set('display_errors', true);
?>


En anders maar met een hard hoofd debuggen: Werkt alleen dit wel, of krijg je "bool(false)" oid te zien?
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
var_dump(file_get_contents('http://www.google.com/'));
?>
Gewijzigd op 19/04/2011 12:12:51 door Jelmer -
 
Peter  paul

peter paul

19/04/2011 12:20:00
Quote Anchor link
1. Zou je me ook kunnen vertellen hoe ik het meteen zou kunnen echo-en als hij het vindt, of waarna ik zou kunnen googlen.

2. Mijn code werkt op veel paginas gewoon goed maar zo als ik al zei pagina's als http://www.youtube.com en http://nl.yahoo.com/ daar bij krijg ik die error. wanneer ik het met jou var_dump code probeer doet hij precies wat die moet doen. Ik kan de fout niet echt vinden.
Gewijzigd op 19/04/2011 12:31:59 door peter paul
 
Jelmer -

Jelmer -

19/04/2011 12:39:51
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php

$bron
= file_get_contents('http://www.youtube.com');

$pattern = "/<[ ]{0,}a[ \n\r][^<>]{0,}(?<= |\n|\r)(?:href)[ \n\r]{0,}=[ \n\r]{0,}[\"|']{0,1}([^\"'>< ]{0,})[^<>]{0,}>((?:(?!<[ \n\r]*\/a[ \n\r]*>).)*)<[ \n\r]*\/a[ \n\r]*>/ is";

$offset = 0;
while(preg_match($pattern, $bron, $matches, PREG_OFFSET_CAPTURE, $offset))
{

    $offset = $matches[0][1] + 1;
    
    echo 'URL: ' . $matches[1][0] . "<br>\n";
    echo 'Titel:' . htmlentities($matches[2][0]) . "<br><br>\n";
}

    
?>


Zo print hij ze zodra hij een match vindt, maar dat heeft geen meerwaarde boven preg_match_all. Jou probleem zit hem in file_get_contents. Als je creatief bent kan je met kan je zelf het uitlezen van het antwoord van de webserver regelen, zie voor een simpel voorbeeld daarvan het voorbeeld bij fsockopen.

Het is wel aanzienlijk complexer. Zo moet je zelf gaan bijhouden wanneer je de body van het antwoord krijgt (headers overslaan, of parsen wanneer je bijvoorbeeld een redirect wilt kunnen volgen, dan zit er een Location: xxx in het header-gebeuren van het antwoord etc.) Je moet ook gaan bijhouden hoever je al was met lezen en matchen. Immers, fgets zou je eerst ' aasadas <a href="asdmfvl">asd' kunnen geven, en dan 'asdsad</a> sdfunkf,jrev', en pas als je die twee stukken aan elkaar plakt matcht je reguliere expressie. Met het voorbeeld hierboven dan je dan weer uitrekenen waar hij matchte (via $offset) en dat deel van de buffer weggooien.

edit: www.youtube.com en nl.youtube.com doen het bij mij allebei, alleen de titel die je krijgt bevat veel HTML code. Misschien stikt je browser in al die html? Helpt htmlentities zoals in m'n voorbeeld hierboven misschien?
Gewijzigd op 19/04/2011 12:42:41 door Jelmer -
 
Write Down

Write Down

19/04/2011 14:16:34
Quote Anchor link
Kijk ook eens naar cURL.
 
Pim -

Pim -

19/04/2011 17:02:05
Quote Anchor link
En ander probleem is het herkennen van relatieve URLs.
Denk daarbij ook aan een mogelijke base-tag.
 
Bastian stolk

bastian stolk

02/06/2011 20:15:52
Quote Anchor link
ik vroeg me af of je ook tekst kan crawlen
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.