crawler DOMDocument werkt niet

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Senior/Lead Python developer

Functie Samen met je team, bestaande uit een senior, 2 mediors en één junior ontwikkelaar ga je op een Agile-gebaseerde aanpak werken aan hun software. Je hebt oog voor kwaliteit, risico’s en klantbelang. Communicatie met je collega’s en waar nodig ook met klanten speelt een belangrijke rol in het bereiken van een succesvol resultaat. Als persoon ben je slim, krijg je dingen voor elkaar en ga je resultaatgericht te werk. Binnen het development team is er veel zelfstandigheid, los van de stand-up (10:00 uur) en zo nu en dan pair-programming sessies. Technieken die zij gebruiken zijn o.a. Python, Django, MySQL,

Bekijk vacature »

Software Developer

Functie omschrijving In deze functie ga je aan de slag met het door ontwikkelen van de interne software. Zij maken gebruik van een CRM, wat door de hele organisatie gebruikt wordt. Andere taken: Je gaat het CRM-systeem door middel van PHP verder ontwikkelen; Verder bouw je verschillende API's en koppelingen tussen systemen; Ook ga je collega's ondersteunen bij vragen over de software en applicaties; Deelnemen aan overleggen met het development team; Bij interesse is er de mogelijkheid om junioren te gaan begeleiden. Bedrijfsprofiel Dit bedrijf is actief binnen de telecombranche. Het hoofdkantoor zit in regio van Den Bosch en er

Bekijk vacature »

C++ Ontwikkelaar

Functieomschrijving Ben jij als software ontwikkelaar toe aan een nieuwe uitdaging? Dan zoeken wij jou! Voor het maken van de procesbesturingssoftware gebruiken onze projectteams een in C++ en C# geschreven tool. Dit is een gedistribueerd object framework wat alle kernfuncties biedt voor een procesautomatisering. Verder zullen jouw werkzaamheden o.a. bestaan uit: Ontwerpen, programmeren en testen van product aanpassingen; Analyseren van vragen en wensen van gebruikers en deze vertalen naar een functioneel ontwerp; Inzichtelijk maken van voortgang omtrent softwarewerkzaamheden, o.a. door middel van SCRUM; Continu toetsen van het effect van nieuwe releases op andere tools en processen; Implementeren van nieuwe product

Bekijk vacature »

Junior/Medior Front-end developer

Functie Als Front-end developer werk je intensief samen met 1 van de UX-designers en denk je mee over de gebruiksvriendelijkheid en design van onze web- en mobile apps. Je bent betrokken bij sessies met gebruikers om designs te valideren en usability van de app-in-wording te testen. Vervolgens gebruik je dit om samen met je team waarin ook back-end (.NET) developers zitten, te zorgen voor de realisatie van de best mogelijke apps voor studenten en docenten. Eisen • Je hebt een hands-on development en coding mind-set en werkt graag aan een high quality code base welke je consequent onderhouden kan worden

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 »

C#.NET developer

Functieomschrijving Wij zijn op zoek naar een gepassioneerde Full Stack C#.NET Software Developer. Als Software Developer ben je verantwoordelijk voor het ontwikkelen van webapplicaties, apps en dashboards voor de eigen IOT-oplossingen. Je werkt samen met andere ontwikkelaars en engineers om de sensoren in machines uit te lezen en deze data om te zetten in management informatie voor jullie klanten. Taken en verantwoordelijkheden: Testen en valideren van de ontwikkelde software. Ontwikkelen en onderhouden van webapplicaties, apps en dashboards voor de eigen IOT-oplossingen. Je gaat aan de slag met diverse technologieën en frameworks. Denk hierbij aan C#, JS frameworks, HTML, CSS, TypeScript,

Bekijk vacature »

Medior Front-end Developer

Bij Getnoticed doen wij wat we leuk vinden, websites bouwen en online marketing. Voor veel van onze klanten doen we dan ook allebei. Wel zo fijn om campagnes te draaien voor conversiegerichte websites die in eigen beheer zijn. In onze vestiging in Nederweert zit onze development afdeling en worden de websites gebouwd. Op dit moment zijn we op zoek naar jou: dé Medior Front-end Developer die net als wij, het hoofd boven het maaiveld durft uit te steken! In het kort Even een paar punten die omschrijven wat deze toffe baan inhoudt: Het uitwerken van designs tot functionele layouts Je

Bekijk vacature »

Backend Developer Integraties API HBO REST

Samengevat: Deze werkgever is een IT-consultancy. Wil jij werken als Backend Developer Integraties? Heb jij kennis van gangbare berichtformaten? Vaste baan: Backend Developer Integraties API HBO €3.100 - €4.400 Zij bieden innovatieve oplossingen die bedrijven efficiënter en wendbaarder maken, waardoor onze klanten zich net zo snel kunnen ontwikkelen als de business van hen vraagt. Bij bij hun werk je aan onze eigen bedrijfsapplicaties. Je ontwikkelt met ons de meest nieuwe software. Wij blinken uit als het gaat om de inzet van technologie. Deze werkgever staat open voor elke nieuwe trend. Onze systemen zijn groot en ingewikkeld. Hou jij van diepgang

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 »

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 »

.NET developer

Functie The position we have for you As a .NET developer you will work for one of our customers active in the High Tech Industry. Our customers are mainly located in the Eindhoven area. We are very selective when it comes to the projects we accept and therefore only focus on innovative and complex projects. Because our customers are mainly specialized in machine construction, you often work close to the machines. Our team currently consists of Embedded engineers, IOT developers and Cloud engineers. We mainly work on Microsoft projects where WPF, UWP, .NET Core and Microsoft Azure are used. Eisen

Bekijk vacature »

Java developer

Als 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 staan

Bekijk vacature »

Cobol Developer

Dit ga je doen Als Cobol Ontwikkelaar zal je gaan meebouwen aan een onderdeel van het backend systeem waarbij je het functionele ontwerp vertaald naar een technische oplossing die geïntegreerd kan worden in de huidige omgeving. Je zorgt ervoor dat de bedrijfsprocessen op een efficiënte manier worden uitgevoerd en werkt proactief aan het verbeteren hiervan. Samen met jouw collega’s reviewen jullie elkaars code en test je je eigen code. Je werkt nauw samen met andere ontwikkelaars, testers en functioneel ontwerpers. Taken pakket: Beheren en doorontwikkelen van de bestaande omgeving; Vertalen van een functionele vragen naar een technische oplossing; Doorvoeren van

Bekijk vacature »

C# .NET Developer

Functie omschrijving Wij zijn op zoek naar een C# .NET Developer voor een bedrijf in de omgeving van Utrecht! Wil jij werken voor een internationaal bedrijf waar je legio mogelijkheden krijgt als Software Ontwikkelaar? Grijp nu je kans! Je kunt een uitdagende rol gaan vervullen als C#.NET Developer binnen een internationaal bedrijf dat gevestigd is in omgeving van Utrecht. Je zult gaan samenwerken met collega's die over de hele wereld verspreid zitten. Dit bedrijf is zeer vooruitstrevend en werkt met de nieuwste technieken. Als C#.NET Developer ga jij je bezig houden met het volgende: Je blijft op de hoogte van

Bekijk vacature »

Software developer (PHP) - Utrecht centrum

Functie Ieder onderdeel van de software draait op aparte servers en het bestaat dus echt uit verschillende componenten. Het team bestaat uit 4 developers, een klein team dus met korte lijnen. Alles in intern ontwikkeld en je werkt aan alle facetten. Van uitbreiding van de core tot maatwerk voor de klant. Ook liggen er verschillende uitdagingen op servervlak en databases. Je zult de eerste periode veel samenwerken met de lead developer om vervolgens echt je gang te gaan binnen de software. In het team streven ze naast de hoogst haalbare kwaliteit. Hiervoor werken ze nauw met elkaar samen en levert

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:10:20
 
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.