crawler DOMDocument werkt niet

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Back end developer Digital agency

Functie Heb jij altijd al eens bij een bedrijf willen werken waar jij géén nummertje bent, die alleen maar uitvoerend werk doet? Dan zou je hier perfect passen! Tuurlijk, je werkt aan projecten voor grote of kleine bedrijven… Het enige verschil hier is, jouw mening telt hier écht. Jouw inbreng wordt gewaardeerd, serieus genomen en gebruikt. En vergeet niet, je werkt niet alleen aan deze projecten. Er werken in totaal ruim 20 developers en designers, onderverdeeld over 3 development teams. Voornamelijk bestaande uit Medior en Senior developers, die samen voor een inspirerende en ambitieuze omgeving zorgen. Hun visie is namelijk

Bekijk vacature »

Senior Developer Betty Blocks Blauwe Haven Rotterd

Functieomschrijving Voor de Politie zijn wij opzoek naar een Senior Developer Betty Blocks Blauwe Haven Rotterdam. De politieorganisatie heeft jaarlijks te maken met een aanzienlijk aantal politiemedewerkers die vanwege mentale overbelasting niet of beperkt inzetbaar zijn. De Blauwe Haven Rotterdam ondersteunt deze politiemedewerkers in hun herstel en re-integratieproces. De huidige digitale systemen van de Politie bieden onvoldoende ondersteuning in het herstel- en re-integratieproces van politiemedewerkers. Zowel voor de politiemedewerkers als voor de organisatie. Politiemedewerkers worden buitengesloten, waardoor zij eigen regie verliezen. Begeleiders kunnen de voortgang van de medewerkers niet goed monitoren. Management beschikt niet over de mogelijkheid trends te signaleren

Bekijk vacature »

.NET Developer

Functie omschrijving Net afgestudeerd en op zoek naar een leuke baan als developer? Zoek niet verder! Ik heb een functie beschikbaar als back-end developer, bij een leuk familiebedrijf. Je gaat werken met de Microsoft stack en de technieken C# en .NET. Verder maak je gebruik van MVC en Entity framework. SQL kent ook geen geheimen voor jou. Jouw verantwoordelijkheden: Nieuwe maatwerk software bouwen; API koppelingen bouwen; Applicaties en software optimaliseren; Back-end programmeren. Een erg uitdagende functie, met veel vrijheid. Je kan meerdere dagen thuis werken en als je op kantoor werkt wordt de lunch verzorgd. Heb je interesse, reageer dan

Bekijk vacature »

Junior PHP Developer

Functieomschrijving Junior PHP Developer gezocht! Voor een opdrachtgever in de regio Gelderland zijn wij op zoek naar een Junior PHP Developer die onderdeel gaat worden van het ontwikkelingsteam van deze organisatie. In deze functie ga jij aan de slag met het schrijven van software voor de aansturing van en het managen van windparken en bijbehorende onderdelen. Hiernaast ga jij je bezighouden met het ontwikkelen, testen en onderhouden van diverse webapplicaties. Het team waarin je komt te werken bestaat uit 3 developers, hierdoor krijg je veel verantwoordelijkheid en de kans om jezelf verder te ontwikkelen. Er wordt echter wel van je

Bekijk vacature »

Ervaren Full stack developer

Functie omschrijving Ben jij op zoek naar een uitdagende in-house functie bij een bedrijf met enorme groeipotentie? Ben jij op zoek naar een nieuwe uitdaging vol afwisseling en gezelligheid? Dan ben je bij dit bedrijf aan het juiste adres! Wij zijn in omgeving Breda op zoek naar een ervaren full stack developer. Je gaat werken voor een zeer gewilde werkgever met goede arbeidsvoorwaarden. Je krijgt een plekje in het jonge IT team, work hard, play hard is hier duidelijk het motto! Jouw werkzaamheden zien er als volgt uit: Jij bent verantwoordelijk voor het ontwerpen en bouwen van webapplicaties. Je bent

Bekijk vacature »

Als Front-end developer bijdragen aan het onderwij

Functie Als front-end developer om je terecht in een team van goede en ervaren developers, en ga je werken aan de software die door miljoenen mensen gebruikt wordt. Je bent in staat om designs effectief te vertalen naar werkende feautures en hebt oog voor een goede UX van het product. Je staat voor clean code en goede documentatie. Je ziet toegevoegde waarde in het beoordelen van het werk van collega’s om zo samen te streven naar hoge kwaliteit software en code. Je dagelijkse werk bestaat uit het werken aan componenten in de Storybook. Het verbeteren en refactoren van de huidige

Bekijk vacature »

Traineeship Full Stack Java developer

Dit ga je doen Start jij op 7 augustus bij de Experis Academy dan kickstart jij jouw IT-carrière! We leiden je op tot een gewilde Full Stack Java Developer met alle kennis en vaardigheden die nodig zijn om de arbeidsmarkt te betreden. Wat kun je verwachten, hoe zit een dag in het leven van een Trainee eruit? Periode 1 Als Full Stack Java Developer Trainee volg je vanuit huis een op maat gemaakte onlinetraining die in het Engels wordt gegeven. De tijd die je kwijt bent aan het volgen van de training kun je vergelijken met een fulltime werkweek. In

Bekijk vacature »

Senior Node.js developer Digital Agency

Functie Door de groei van de organisatie zijn ze op zoek naar een Tech Lead. Als tech lead ben jij verantwoordelijk Als Back end Node.js developer kom je terecht in een van de 8 multidisciplinaire teams in het projectenhuis. Afhankelijk van jouw interesses, wensen en capaciteiten word je bij projecten en onderwerpen naar keuze betrokken. Als ervaren ontwikkelaar zul jij vaak leiding nemen in de projecten en in het team een aanvoerder zijn van technische discussies. Uiteindelijk wil jij natuurlijk de klantwensen zo goed mogelijk vertalen naar robuuste code. De projecten kunnen varieren van langlopende- tot kleinschalige trajecten. Voorheen werkte

Bekijk vacature »

Software developer (Python)

Functie Je komt te werken in het IT-team bestaande uit de Lead developer en 4 (medior/senior) developers. Gezamenlijk werken jullie aan de verbetering en uitbreiding van de software. Binnen het development team is er veel vrijheid en zelfstandigheid, zonder dat ze hiermee afdoen aan de kwaliteit. Zo hebben ze elke ochtend een korte stand-up (10:00 uur) en houden ze zo nu en dan pair-programming sessies. Ook is er een hele professionele ontwikkelcyclus waarbij code altijd eerst door een collega wordt getest voordat het naar deployement gaat. Je hebt in je werk oog voor kwaliteit, risico’s en het klantbelang. Communicatie met

Bekijk vacature »

Junior Fullstack Developer

Functie omschrijving Heb jij je universitair diploma Informatica afgerond en ben jij op zoek naar een startersfunctie waar jouw ontwikkeling in een hoog vaandel staat? Voor een softwarebedrijf in Amsterdam zijn wij op zoek naar een Junior Fullstack Developer. Je begint met een op maat gemaakte training om de kennis bij te spijkeren die jij nog mist. Uiteraard leer je het meeste tijdens je werk, maar de training geeft je hiervoor alvast de juiste handvatten. Je kunt het volgende verwachten! Jij ontwikkelt in technieken als Java, Javascript en SQL. Je werkt hierbij volgens de Agile/Scrum methode; Na het afronden van

Bekijk vacature »

Medior/senior Back-end developer gezocht!

Functie Vanwege de groei binnen het bedrijf zijn we op zoek naar versterking in het devlopmenttean. Als back-end developer bouw je aan de bedrijfssoftware die ons helpt bij de primaire processen. Een leuk (intern) project dus waarbij je de software continu doorontwikkeld! Je werkt in een klein team, we hebben dagelijks stand-ups en iedere twee weken een scrum-sessie, begeleid door onze Scrum Master. Hierin krijg je uitgebreid de kans om je ideeën te presenteren, en te overleggen met je mede-ontwikkelaars en de Product Owner. Binnen de ontwikkelteams gebruiken we Trello, Gitlab, Jiira, Confluence en Boockstack. Hiernaast werken ze met de

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 »

Java developer (remote)

Functie Wat ga je doen als Java Developer? Jij als Java ontwikkelaar komt te werken in 1 van onze SCRUM teams. Momenteel werken er zo’n 30 ontwikkelaars binnen onze organisatie waarbij jij de brug slaat tussen het bouwen van verschillende functionaliteiten binnen onze applicaties en deze vervolgens te integreren in onze centrale hub. Je start je dag om 9 uur met een stand up en dan pak je jouw taken op voor de dag. Hieronder een aantal taken die jij zal uitvoeren: – Het bedenken en uitbouwen van features binnen de verschillende applicaties – Onderhouden van CI/CD pipelines – Bezighouden

Bekijk vacature »

Oracle APEX developer

Wat je gaat doen: Als Oracle APEX ontwikkelaar bij DPA werk je samen met collega’s aan de meest interessante opdrachten. Je zult je ervaring met SQL, PL/SQL, JavaScript, HTML en CSS inzetten om wensen van opdrachtgevers te vertalen naar technische oplossingen. Je werk is heel afwisselend, omdat DPA zich niet beperkt tot een specifieke branche. Zo ben je de ene keer bezig binnen de zorgsector, de andere keer is dit bij de overheid. Wat we vragen: Klinkt goed? Voor deze functie breng je het volgende mee: Je hebt een hbo- of universitaire opleiding afgerond Je hebt 2 tot 5 jaar

Bekijk vacature »

Medior/Senior Front-end Developers gezocht (Utrech

Functie Het team bestaat uit 10+ gespecialiseerde (veel senior) front-end ontwikkelaars en ontwerpers die werken aan projecten voor klanten van verschillende groottes (kan twee jaar bezig zijn met 1 klant). Je helpt klanten met ingewikkelde front-end vraagstukken, hierbij kun je denken aan: UX/UI design, CI/CD, architectuur en integratie met back-end systemen. De werkzaamheden verricht je op locatie bij de klant, dit is vaak in de Randstad. De organisatiestructuur is plat en er heerst een informele sfeer, zo kun je met vragen dus terecht bij de directie. Er wordt veel nadruk gelegd op het bevorderen van persoonlijke ontwikkeling door middel van

Bekijk vacature »
Jyy An

Jyy An

06/02/2013 22:17:34
Quote Anchor link
Hoi iedereen (:

Een tijdje geleden heb ik een crawler geschreven die links (en links van plaatjes) kopieert en terug stuurt in een array. Ik krijg alleen maar 2 links eruit terug, dit is de link die ik instuur, een keer met een / op het einde en een keer zonder (de eerste is met en de tweede zonder). Ziet iemand wat er mis is?

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
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
function get_urls($website) {
    $checked = array();
    $noncheck = array('http://'.$website.'/');
    $max_urls_to_check = 50;
        $filetypes = array('pdf','jpg','gif','png','doc','docx','xls','xlsx','ppt','pptx','xml','js','css'); // Any filetype which can be found which is not made up out of html
    $urls_checked = 0;
    while ((isset($noncheck[0])) && ($urls_checked <= $max_urls_to_check)) {
        $doc = new DOMDocument();
        $doc->loadHTMLFile($noncheck[0]);
        
        foreach ($doc->getElementsByTagName('a') as $link) {
            $href = $link->getAttribute('href');
            $href = preg_replace('/#*./','',$href);
            
            
            if (stripos($href, 'http://') !== false || stripos($href, 'https://') !== false) { //absolute link
            
                if (stripos($href, $website) === false || preg_match('/\.'.$filetypes.'$/',$href)) { // If the file is not a html file)
                    $checked[] = $href; // If the link links to another website (domain)
                } else {
                    if ((!in_array($href,$checked)) && (!in_array($href,$noncheck))) { // Case Insensitive problems!
                    
                        $noncheck[] = $href; // If the link links to the right domain
                    }
                }
            } else { // If the link is a relative link
                $href = str_replace('./','',$href);
                if (!(strpos($href, '/') == 0)) {
                    $href = '/'.$href;
                }
                $href = 'http://'.$website.$href;
                
                if ((!in_array($href,$checked)) && (!in_array($href,$noncheck))) { // Case Insensitive problems!
                    if (preg_match('/'.$filetypes.'$/',$href)) { // If the file is not an html file
                        $checked[] = $href;
                    } else {
                        $noncheck[] = $href;
                    }
                }
            }
        } // end foreach a links
        
        foreach ($doc->getElementsByTagName('img') as $img) {
            $src = $link->getAttribute('src');
            
            if (stripos($src, 'http://') !== false || stripos($src, 'https://') !== false) {
                if (!in_array($src,$checked)) {
                    $checked[] = $src;
                }
            } else { // If the link is a relative link
                $src = str_replace('./','',$src);
                if (!(strpos($src, '/') == 0)) {
                    $src = '/'.$src;
                }
                $src = 'http://'.$website.$src;
                
                if (!in_array($src,$checked)) {
                    $checked[] = $src;
                }
            }
        } // end foreach images
        $checked[] = $noncheck[0];
        array_shift($noncheck);
        $urls_checked += 1;
    } // end checking links

    
    return $checked;


}

$hoi = get_urls('google.com');
print_r($hoi);


Vraagjes over de werking van de code zijn welkom (; en dit is de eerste keer dat ik met DOMDocuments werk dus er is best een kans dat daar de fout zit maar ik snap het niet meer...

Bedankt voor het kijken alvast!
Gewijzigd op 06/02/2013 22:18:22 door Jyy An
 
PHP hulp

PHP hulp

28/04/2024 22:57:45
 
Jyy An

Jyy An

08/02/2013 16:44:00
Quote Anchor link
Niemand die hier het antwoord op weet? :(
 
Ivo Breeden

Ivo Breeden

08/02/2013 19:35:56
Quote Anchor link
Nee, echt een antwoord heb ik niet. Ik heb je functie gelezen en ik vind dat het er best goed uit ziet. Maar ik heb hem ook uitgevoerd en ik krijg wel wat meer dan jij. Misschien heb je daar wat aan en misschien dat iemand anders de extra tekst kan interpreteren. In ieder geval gaat het mis op regel 10 bij loadHTMLFile().
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
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
PHP Warning:  DOMDocument::loadHTMLFile(): htmlParseEntityRef: expecting ';' in http://google.com/, line: 43 in /home/ibreeden/tmp/kanweg.php on line 10
PHP Warning:  DOMDocument::loadHTMLFile(): htmlParseEntityRef: expecting ';' in http://google.com/, line: 43 in /home/ibreeden/tmp/kanweg.php on line 10
PHP Warning:  DOMDocument::loadHTMLFile(): htmlParseEntityRef: expecting ';' in http://google.com/, line: 43 in /home/ibreeden/tmp/kanweg.php on line 10
PHP Warning:  DOMDocument::loadHTMLFile(): htmlParseEntityRef: expecting ';' in http://google.com/, line: 43 in /home/ibreeden/tmp/kanweg.php on line 10
PHP Warning:  DOMDocument::loadHTMLFile(): htmlParseEntityRef: expecting ';' in http://google.com/, line: 43 in /home/ibreeden/tmp/kanweg.php on line 10
PHP Warning:  DOMDocument::loadHTMLFile(): htmlParseEntityRef: expecting ';' in http://google.com/, line: 43 in /home/ibreeden/tmp/kanweg.php on line 10
PHP Warning:  DOMDocument::loadHTMLFile(): htmlParseEntityRef: expecting ';' in http://google.com/, line: 43 in /home/ibreeden/tmp/kanweg.php on line 10
PHP Warning:  DOMDocument::loadHTMLFile(): htmlParseEntityRef: expecting ';' in http://google.com/, line: 43 in /home/ibreeden/tmp/kanweg.php on line 10
PHP Warning:  DOMDocument::loadHTMLFile(): htmlParseEntityRef: expecting ';' in http://google.com/, line: 43 in /home/ibreeden/tmp/kanweg.php on line 10
PHP Warning:  DOMDocument::loadHTMLFile(): htmlParseEntityRef: expecting ';' in http://google.com/, line: 43 in /home/ibreeden/tmp/kanweg.php on line 10
PHP Warning:  DOMDocument::loadHTMLFile(): htmlParseEntityRef: expecting ';' in http://google.com/, line: 43 in /home/ibreeden/tmp/kanweg.php on line 10
PHP Warning:  DOMDocument::loadHTMLFile(): htmlParseEntityRef: expecting ';' in http://google.com/, line: 43 in /home/ibreeden/tmp/kanweg.php on line 10
PHP Warning:  DOMDocument::loadHTMLFile(): htmlParseEntityRef: expecting ';' in http://google.com/, line: 43 in /home/ibreeden/tmp/kanweg.php on line 10
PHP Warning:  DOMDocument::loadHTMLFile(): htmlParseEntityRef: no name in http://google.com/, line: 43 in /home/ibreeden/tmp/kanweg.php on line 10
PHP Warning:  DOMDocument::loadHTMLFile(): htmlParseEntityRef: expecting ';' in http://google.com/, line: 43 in /home/ibreeden/tmp/kanweg.php on line 10
PHP Warning:  DOMDocument::loadHTMLFile(): htmlParseEntityRef: expecting ';' in http://google.com, line: 43 in /home/ibreeden/tmp/kanweg.php on line 10
PHP Warning:  DOMDocument::loadHTMLFile(): htmlParseEntityRef: expecting ';' in http://google.com, line: 43 in /home/ibreeden/tmp/kanweg.php on line 10
PHP Warning:  DOMDocument::loadHTMLFile(): htmlParseEntityRef: expecting ';' in http://google.com, line: 43 in /home/ibreeden/tmp/kanweg.php on line 10
PHP Warning:  DOMDocument::loadHTMLFile(): htmlParseEntityRef: expecting ';' in http://google.com, line: 43 in /home/ibreeden/tmp/kanweg.php on line 10
PHP Warning:  DOMDocument::loadHTMLFile(): htmlParseEntityRef: expecting ';' in http://google.com, line: 43 in /home/ibreeden/tmp/kanweg.php on line 10
PHP Warning:  DOMDocument::loadHTMLFile(): htmlParseEntityRef: expecting ';' in http://google.com, line: 43 in /home/ibreeden/tmp/kanweg.php on line 10
PHP Warning:  DOMDocument::loadHTMLFile(): htmlParseEntityRef: expecting ';' in http://google.com, line: 43 in /home/ibreeden/tmp/kanweg.php on line 10
PHP Warning:  DOMDocument::loadHTMLFile(): htmlParseEntityRef: expecting ';' in http://google.com, line: 43 in /home/ibreeden/tmp/kanweg.php on line 10
PHP Warning:  DOMDocument::loadHTMLFile(): htmlParseEntityRef: expecting ';' in http://google.com, line: 43 in /home/ibreeden/tmp/kanweg.php on line 10
PHP Warning:  DOMDocument::loadHTMLFile(): htmlParseEntityRef: expecting ';' in http://google.com, line: 43 in /home/ibreeden/tmp/kanweg.php on line 10
PHP Warning:  DOMDocument::loadHTMLFile(): htmlParseEntityRef: expecting ';' in http://google.com, line: 43 in /home/ibreeden/tmp/kanweg.php on line 10
PHP Warning:  DOMDocument::loadHTMLFile(): htmlParseEntityRef: expecting ';' in http://google.com, line: 43 in /home/ibreeden/tmp/kanweg.php on line 10
PHP Warning:  DOMDocument::loadHTMLFile(): htmlParseEntityRef: expecting ';' in http://google.com, line: 43 in /home/ibreeden/tmp/kanweg.php on line 10
PHP Warning:  DOMDocument::loadHTMLFile(): htmlParseEntityRef: no name in http://google.com, line: 43 in /home/ibreeden/tmp/kanweg.php on line 10
PHP Warning:  DOMDocument::loadHTMLFile(): htmlParseEntityRef: expecting ';' in http://google.com, line: 43 in /home/ibreeden/tmp/kanweg.php on line 10
Array
(
    [0] => http://google.com/
    [1] => http://google.com
)
 
Jyy An

Jyy An

12/02/2013 17:36:19
Quote Anchor link
Bedankt! Dit maakt de fout meteen duidelijk, ik moet namelijk de LoadHTML statisch aanvragen (geeft een true als hij werkt en een false als hij niet werkt, maar als je hem statisch aanvraagt krijg je het DOMDocument ipv de true).

Nu alleen nog een probleem; als het document leeg is, wil ik dit kunnen zien. Dit werkt echter niet ;s

ik had hiervoor deze code:

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

$urls = Array('http://google.com','http://news.google.com/nwshp?hl=en&tab=ln', 'https://mail.google.com/mail/?tab=lm', 'https://drive.google.com/?tab=lo','http://dezewebsitebestaaaatnieet.net');
    for ($i = 0; $i < count($urls);$i++) {

        $doccc = new DOMDocument();
        if ((!(@$doccc->loadHTMLFile($urls[$i]))) || ($doccc->saveHTML() == '')) {
            echo 'pagina (of hele website) is dood<br />';
                } else {
                        echo 'pagina is levend of een aangepaste 404-pagina<br />';
                }
     }

Hij zegt alleen dat dus de niet bestaande website wel levend is (terwijl http://dezewebsitebestaaaatnieet.net echt niet bestaat hoor ;o)...

even voor alle duidelijkheid, ik krijg nu dit:
Quote:
pagina is levend of een aangepaste 404-pagina
pagina is levend of een aangepaste 404-pagina
pagina is levend of een aangepaste 404-pagina
pagina is levend of een aangepaste 404-pagina
pagina is levend of een aangepaste 404-pagina


en ik wil dit:
Quote:
pagina is levend of een aangepaste 404-pagina
pagina is levend of een aangepaste 404-pagina
pagina is levend of een aangepaste 404-pagina
pagina is levend of een aangepaste 404-pagina
pagina (of hele website) is dood
 



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.