crawler DOMDocument werkt niet

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Software Ontwikkelaar

Functieomschrijving In deze uitdagende functie als Software Developer ga je de volgende taken uitvoeren: Maatwerk back-end software programmeren; API koppelingen bouwen; Software optimaliseren voor klanten; Bouwen maatwerk applicaties; Werken met Microsoft stack zoals C#, .NET (Core) en Entity framework; Bedrijfsprofiel Je gaat werken bij een klein softwareontwikkelingsbureau, die maatwerk software bouwt voor klanten door heel Nederland. Dit doen zij al meer dan 20 jaar. Het is van oorsprong een familiebedrijf, opgezet door de eigenaar, die er nog steeds werkt. Het team bestaat vooral uit back-end developers en één systeembeheerder. Je krijgt veel kans om jezelf te ontwikkelen en krijgt tevens

Bekijk vacature »

Mendix Developer

Voor Troostwijk Groep zoeken wij een: Mendix Developer Wij zoeken Je bent een getalenteerde en ervaren Mendix Developer en het is tijd om je horizon te verbreden. Je wilt minder coderen en meer modelleren, minder bezig zijn met allerlei technische details en randvoorwaarden en meer met functionaliteit. Daarnaast ben je trots op de innovatieve en gebruiksvriendelijke applicaties die je in de loop van de jaren hebt gebouwd. Werk je graag in een enthousiast team, wil je veel vrijheid en kun je tegelijkertijd goed met deadlines omgaan, dan ben jij absoluut degene die wij zoeken! Wat je nodig hebt is ruime

Bekijk vacature »

Web Developer

Bedrijfsomschrijving ENGIE Nederland is onderdeel van de beursgenoteerde ENGIE Groep. ENGIE is actief in 70 landen, met wereldwijd 150.000 medewerkers. Als groep is het de missie om bij te dragen aan de verduurzaming van de wereld. ENGIE Energie biedt energiediensten aan particulieren en grootzakelijk en gaat de uitdagingen van de energietransitie aan door het beschikbaar maken van duurzame energie, het streven de klimaatverandering tot een minimum te beperken, leveringszekerheid te bieden en zorg te dragen voor een verantwoord gebruik van de beschikbare resources. ENGIE Energie investeert daarom in hernieuwbare energiebronnen zoals zon, wind en bio-gas. Functieomschrijving Heb jij veel ervaring

Bekijk vacature »

Senior Java Developer

Als Senior Java Developer bij Sogeti ben je onderdeel van onze toonaangevende community die bestaat uit ruim 100 gepassioneerde Java professionals. In teamverband lever je mooie prestaties. Daarmee draag je aan bij de meerwaarde die wij leveren aan onze top-opdrachtgevers. Geen werkdag is hetzelfde! Je bent voortdurend bezig met het oplossen van allerlei complexe vraagstukken binnen bedrijfs kritische systemen voor onze klanten in regio Noordoost zoals DUO, ING, CJIB en Tendernet. Natuurlijk krijg jij de mogelijkheid je verder te certificeren in dit vakgebied. We organiseren regelmatig technische Meetups en doen veel aan kennisdeling. Sogetisten hebben plezier in hun werk en

Bekijk vacature »

Belastingdienst - Freelance Senior Applicatie ontw

Startdatum: 01.06.2023 Richttarief: €65,00 - €75,00 Duur van de opdracht: 6 maanden Uren per week: 36 Taal: Nederlands vereist! Gelieve in het Nederlands te solliciteren. Functieomschrijving: We verwachten van je, dat je: Brede ervaring hebt als JAVA-ontwikkelaar; Ervaring hebt met Agile/Scrum-werken en je thuis voelt in een Agile omgeving; Een aandeel levert aan het scrumproces en in de SAFe-releasetrain; Zelfstandig werkt in een scrumteam en intensief de samenwerking op zoekt met je directe collega’s en je omgeving; Ervaring meebrengt met het schattten en inplannen van taken tot en met het testen en demonstreren van de opgeleverde functionaliteit; Collega’s in je

Bekijk vacature »

Grafisch vormgever

Standplaats: Maasland Aantal uren: 32 – 40 uur per week Opleidingsniveau: HBO werk- en denkniveau Ben jij een ambitieuze grafisch vormgever met een passie voor creativiteit en oog voor detail? Vind jij het daarnaast leuk om ook marketingactiviteiten op te pakken? Dan zijn wij op zoek naar jou! Bedrijfsinformatie Westacc Group BV is het zusterbedrijf van HABA en specialiseert zich in (maatwerk) oplossingen voor (elektro) techniek en verlichting in de kampeerbranche. Zij produceren en assembleren onderdelen voor caravans, campers en boten. Voor een groot aantal caravan- en campermerken leveren wij producten als zekeringkasten, invoerdozen, acculaders, schakelmateriaal en verlichting. De producten

Bekijk vacature »

SAP HANA Developer

Vacature details Vakgebied: Software/IT Opleiding: Senior Werklocatie: Veldhoven Vacature ID: 13382 Introductie We is looking for a HANA Developer to work for our client. The candidate has to have an experience in building Data Intensive Applications (DIA’s). The role of a HANA Developer at ASML involves working on building Data Intensive Applications in an industrial/enterprise environment. The primary responsibility is to handle data from various sources and determine the best way to structure it for use by data analysts, who will run queries and algorithms against it for predictive and prescriptive analytics through machine learning. Wat verwachten we van jou?

Bekijk vacature »

Mendix Developer

Functie Wat ga je doen als Mendix Developer? We leven in een wereld die snel ontwikkelt en veranderd, ook nemen bedrijfsbelangen toe en blijken risico’s moeilijker in te schatten, daarom wij op zoek naar Junior, Medior en Senior Developers die bedrijven kunnen helpen met hun screeningproces en zorgen dat deze efficiënt en 100 procent AVG compliant is. Het concept achter Mendix is duidelijk. De klant heeft een vraag/probleem. Dit kunnen we door middel van slimme software oplossen. In plaats van te werken met de nieuwste technieken en tools, wordt er gekozen voor het implementeren en maken van software dat op

Bekijk vacature »

Senior .NET developer

Functie As a Senior .NET developer you will work in our Research & development team. Our team consists of 17 colleagues! We are currently busy setting up a completely new architecture for a new product. We use VS2022 and .NET 6.0 for our new product. Your function is therefore mainly backend oriented. Since we develop measuring equipment for the chemical industry, it is also very important to develop high-quality software for its control. You are also responsible for designing, implementing and testing new features. For this position its also very important to ensure future-proof and sustainable architecture. Eisen - A

Bekijk vacature »

Software programmeur

Functieomschrijving Voor een erkende werkgever in de regio van Goes zijn wij op zoek naar een enthousiaste software programmeur met PHP/Symfony ervaring. Een gedreven persoon die het development team komt versterken met het aanpakken van complexe projecten. Ben jij op zoek naar een baan met veel uitdaging binnen een snelgroeiend e-commerce bedrijf, waar je de tijd en ruimte krijgt voor zowel professionele als persoonlijke groei? Lees dan snel verder! Dit ga je doen: Beheer en ontwikkeling van de serviceportal in Symfony en de webshops in de tweede versie van Magento; Testen en door ontwikkelen van software; Ontwikkelen van nieuwe functionaliteiten;

Bekijk vacature »

Back-end .NET Developer

Functie omschrijving C# / .NET Developer gezocht voor een dynamische organisatie in de regio Houten! Voor een leuke organisatie in de regio Houten zijn wij op zoek naar een Back-end developer die klaar is voor een nieuwe uitdaging. In deze functie werk jij aan verschillende projecten en ga je vaak bij klanten op bezoek. Binnen deze functie kun je een grote mate van uitdaging, diversiteit en verantwoordelijkheid treffen. Bedrijfsprofiel Waar ga je werken? Het bedrijf waar je gaat werken is gespecialiseerd in het ontwerpen en implementeren van procesautomatisering en procesinformatisering. Zij doen dit onder andere voor de (petro)chemie, pharma, infra,

Bekijk vacature »

Senior front-end developer (React)

Functie Momenteel zijn ze op zoek naar een ervaren front-end developer. Als senior werk je nauw samen met 5 collega developers. Een klein scrum team dus, met korte lijnen waardoor jouw ideeën snel tot uitvoering gebracht kunnen worden. De huidige applicaties worden veelal ontwikkeld met o.a. React, Redux, TypeScript. Ze zijn echt op zoek naar een kartrekker in het team. Naast het meedenken over, opzetten en uitvoeren van bijvoorbeeld de architectuur of toepassing van nieuwe technieken krijg je ook veel tijd om de meer junior (front-end) developers te begeleiden. Hierin nemen ze graag de tijd om mensen de ruimte te

Bekijk vacature »

PHP Developer (junior functie)

Functie omschrijving Wij zijn op zoek naar een PHP Developer! Ben jij een starter en wil je werken bij een jong en leuk bedrijf? Lees dan verder! Wij zijn op zoek naar een PHP Developer binnen een junior functie. Binnen dit bedrijf gaat het om persoonlijke aandacht en ontwikkeling! Je komt te werken voor een leuk communicatiebureau die alles op het gebied van online en offline communicatie doet. Dit doen zij voor verschillende branches, waardoor je aan diverse soorten projecten mag werken, dit maakt deze baan erg leuk! Daarbij werk je aan een door hun zelf ontwikkeld framework welke goed

Bekijk vacature »

Frontend Developer - Leeuwarden

Als Frontend Developer bouw jij mee aan het onderwijs van de toekomst! In een scrum team werken met jonge en enthousiaste collega’s, moderne technieken, ruimte voor eigen ontwikkeling en op een proactieve wijze kunnen meewerken aan innovatie binnen het onderwijs. Magister is het state-of-the-art softwarepakket dat scholen in het voortgezet onderwijs op alle fronten ontzorgt. Van leerlingenadministratie tot het ondersteunen van individuele leerlijnen, van toegang tot digitaal lesmateriaal tot het plannen van het lesrooster. In de Magister app bedient Magister ruim 2,5 miljoen gebruikers waarvan, dagelijks meer dan 600.000 unieke. Hiermee is Magister de absolute marktleider in onderwijsland. Wat vragen

Bekijk vacature »

Front-end Developer

Dit ga je doen Het onderhouden, ontwikkelen en testen van front-end software van diverse klant- en medewerkersapplicaties; Het ontwikkelen van maatwerk front-end oplossingen in Vue.js en participeren in een scrumteam; Mede-verantwoordelijk voor het begeleiden en coachen van drie junior front-end developers; Verantwoordelijk voor code-reviews en het opstellen van de juiste documentatie zoals userstories en API ontwerp; Participeren in diverse projecten t.b.v. optimalisatie van diverse applicaties; Het opzetten van API koppelingen met externe applicaties. Hier ga je werken Betreffende organisatie is gevestigd in de regio van Swifterbant en is al ruim 20 jaar lang bedreven in het ontwikkelen en aanbieden 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

29/03/2024 08:46:47
 
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.