Runescape id/name koppelen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Senior Front-end Developer

Sogeti is een organisatie met een goede werksfeer en zo min mogelijk hiërarchische verhoudingen. Ga je bij ons als Senior Front-end Developer aan de slag? Dan werk je dagelijks met collega’s aan de mooiste IT-projecten. Deze snelgroeiende groep collega’s krijgt energie van hun vak en dat merk je op de werkvloer. Onze klantenkring is groot en divers, dat vraagt om flexibiliteit van jou. Tegelijkertijd betekent dit dagelijks nieuwe dingen leren én dat geen werkdag hetzelfde is. Natuurlijk krijg jij de mogelijkheid je te certificeren. We organiseren regelmatig technische Meet-ups en doen we veel aan kennisdeling waarbij iedereen welkom is, zowel

Bekijk vacature »

PHP Developer Symfony

Dit ga je doen Ontwikkelen van Product Informatie Management (PIM) systemen; Werken aan zowel grotere als kleine projecten voor toonaangevende klanten binnen o.a. de retail. Hier ga je werken Als PHP Developer kom je te werken binnen een vooruitstrevende organisatie die Product Informatie Management (PIM) systemen levert aan hun klanten. Hun klanten zijn toonaangevende bedrijven binnen o.a. de retail. De organisatie zit gevestigd in regio Zwolle en bestaat uit zo'n 35 medewerkers, waarvan 30 IT. Je komt te werken binnen één van de zelfsturende development teams welke ieder verantwoordelijk zijn voor hun 'eigen' klanten. Jouw team bestaat uit 6 backend

Bekijk vacature »

Ervaren Full-Stack PHP Developer

Functieomschrijving Gezocht! Ervaren PHP Developer! Voor een organisatie in de regio Harderwijk zoeken wij een ervaren PHP Developer die het IT team van dit bedrijf gaat versterken. We zijn op zoek naar een enthousiaste en breed georiënteerde IT-er die het innovatieve bedrijf nog een stap verder kan brengen. Voor deze functie zoeken wij iemand die communicatief goed is en die zelfstandig problemen op kan lossen. Je werkt samen met een externe ontwikkelpartij en kunt hun dus uitdagen op het geleverde werk. Het schrijven van concepten aan de AI en hardware kant valt onder je verantwoordelijkheden. Het bedrijf noemt zichzelf een

Bekijk vacature »

Ervaren C#.NET programmeur

Functieomschrijving Voor een moderne werkgever in regio Prinsenbeek zijn wij op zoek naar een ervaren C#.NET programmeur die graag de uitdaging aangaat. Je houdt je bezig met het ontwikkelen van maatwerk webapplicaties voor diverse klanten, waarbij complexe processen optimaal worden ondersteund. Verder ziet jouw takenpakket er als volgt uit: Ontwikkelen en onderhouden van C#.NET-applicaties; Schrijven van hoogwaardige, herbruikbare codes; Schrijven van technische documentatie en gebruikershandleidingen; Bijdragen aan het ontwerp en de architectuur van softwaretoepassingen; Troubleshooten en oplossen van bugs in softwaretoepassingen; Werken met databases en dataopslagoplossingen; Implementeren van beveiligingsoplossingen en het waarborgen van de beveiliging van applicaties en gegevens. Bedrijfsprofiel

Bekijk vacature »

Medior Mobile Developer iOS Amsterdam

Functie What will you be doing as Mobile Developer? As an iOS app developer you will work in a multidisciplinary team of app developers, web developers and designers. You will work on world-class apps that will be used by thousands of people. There is a lot of room for self-development on a technical and personal level. Together with the rest of the team you develop in the newest techniques and you go for the best quality. We work with Kotlin Multiplatform Mobile to develop hybrid apps and we guarantee quality with peer reviews, unit testing and we use a CI/CD.

Bekijk vacature »

Senior .NET Ontwikkelaar

In het kort Als Senior .NET ontwikkelaar ga je binnen onze business unit Transport en Logistiek aan de slag met complexe maatwerk software voor bedrijf kritische systemen binnen de technische automatisering. Denk bijvoorbeeld een IoT-oplossing voor de logistieke sector waarbij we van ruim 200.000 machines de telemetrie en events verwerken. We zijn actief in de distributielogistiek, havenlogistiek (denk aan ECT) en productielogistiek. Naast C# en .NET Core maken we ook gebruik van Azure technologie. En als trotse Microsoft Gold Partner leren we graag van en met jou. Wil jij jezelf blijven ontwikkelen binnen de technische automatisering met .NET, dan gaan

Bekijk vacature »

Medior/Senior Python developer

Functie Jij als Senior Python developer hebt al ruime ervaring opgedaan. Bedrijven komen bij de organisatie om technische vraagstukken op te lossen. Jij als specialist bent dus de representatie van deze kwaliteit. Je zult de keuze krijgen tussen lange of korte projecten waarin je komt te werken in multidisciplinaire teams. Projecten die je gaat uitvoeren zijn zeer uitlopend. Zodoende kun je aan de ene kant kiezen voor een greenfield project en stroom je bij een ander project midden in een migratietraject in. Voor de ene klant ontwikkel je ene nieuwe portal en voor het andere project duik je veel meer

Bekijk vacature »

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 »

Oracle APEX Ontwikkelaar (3.500-6.000 euro)

Bedrijfsomschrijving Ben jij een getalenteerde Oracle APEX ontwikkelaar met minimaal één jaar ervaring in het ontwikkelen van Oracle APEX-applicaties? Ben je gepassioneerd over het ontwikkelen van bedrijfskritische oplossingen en wil je werken bij een toonaangevend consultancybedrijf? Dan zijn wij op zoek naar jou! Deze organisatie beschikt over zowel inhouse als externe projecten, maar bovenal over een sterk team en netwerk van opdrachten waardoor jij jezelf verder kunt ontwikkelen. Het team bestaat uit een aantal junior en medior developers, maar vooral uit senioren. De business unit managers binnen het team zijn mensen die hun vak verstaan en zelf als Oracle APEX

Bekijk vacature »

Software Developer C# / ASP .Net

Functie omschrijving Ben jij een software ontwikkelaar die bekend is met termen ASP .NET, C# en SQL? Lees dan snel verder! Voor een bedrijf binnen de agrarische sector zijn wij namelijk op zoek naar een zelfstandige, enthousiaste en proactieve Software Developer die open staat voor een afwisselende functie met veel uitdaging. Binnen deze organisatie ben jij als Software Developer samen met één andere collega verantwoordelijk voor de ontwikkeling en modificatie van het support en controle programma dat binnen dit bedrijf gebruikt wordt. Hierbij draag jij bij aan de vertaling van klantwensen naar effectieve softwareoplossingen. Daarnaast ben je verantwoordelijk voor: Schatten

Bekijk vacature »

C# .Net Developer

Dit ga je doen Het bouwen van Api's; Nieuwe oplossingen bouwen met C# .Net; De huidige software uitbouwen met C# .Net; Meewerken in projecten; Meedenken aan de toekomstplannen en verbeteringen; Onderdeel van het Scrum Team. Hier ga je werken Onze klant is een dienstverlenende organisatie voor diverse soorten organisaties in Nederland. Ze zijn van oorsprong een familiebedrijf en er is een open cultuur. Ze zijn vooruitstrevend op IT gebied en hebben een eigen inhouse development team van circa 11 man. Je komt hier te werken in het subteam .Net Core. Hier werken ze volgens scrum met de nieuwste technieken en

Bekijk vacature »

Top Low-Code Developer Gezocht!

Bedrijfsomschrijving Unieke Kansen, Uitstekende Arbeidsvoorwaarden & Inspirerend Team Wij zijn een toonaangevende, internationale organisatie die de toekomst van technologie vormgeeft door het creëren van innovatieve en baanbrekende oplossingen. Ons succes is gebaseerd op een hecht en gepassioneerd team van professionals die altijd streven naar het overtreffen van verwachtingen. Als jij deel wilt uitmaken van een dynamische, vooruitstrevende en inspirerende werkomgeving, dan is dit de perfecte kans voor jou! Functieomschrijving Als Low-Code Developer ben je een cruciaal onderdeel van ons team. Je werkt samen met collega's uit verschillende disciplines om geavanceerde applicaties te ontwikkelen en te optimaliseren met behulp van Low-code

Bekijk vacature »

Full Stack Developer/ Applicatie Ontwikkelaar

Wat jij doet Als Applicatie Ontwikkelaar ben je onderdeel van het team die de Rimote omgeving ontwikkeld en onderhoud. Hierbij kan je denk aan de cloud, on premise en webapplicaties welke worden gebruikt in bijvoorbeeld industriële bakkerijen, biogasinstallaties en kwekerijen. Deze applicaties verzorgen (remote) de aansturing en monitoring van processen, machines en robots. Van a tot z ben je betrokken bij projecten. Dit betekent vanaf ontwerp tot oplevering. Je moet samen met jouw team een goed product neer zetten. Dit begint met het opzetten van het ontwerp. De basis van de software moet staan als een huis. Daarvoor moet jij

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 »

Back-end ontwikkelaar

Functie omschrijving Wil jij meebouwen aan diverse databasesystemen in een klein bedrijf met een platte organisatie? In een team van ruim 10 ontwikkelaars wordt er aan diverse ICT oplossingen gewerkt. Jouw taken hierbij zullen bestaan uit: Het onderhouden en door-ontwikkelen van bestaande databases. Denk hierbij aan schema verbeteringen en performance-tuning. Bij nieuwe ontwikkelingen ga jij ook bezig met het bouwen van het databaseschema. Omdat je in een klein team werkt zal je ook de C# routine verder uitbouwen en ontwikkelen. Ook kan je meedraaien in algemene refactory-, ontwikkel- of testwerkzaamheden. Je zal voornamelijk gebruik maken van de volgende technieken: .NET

Bekijk vacature »
John Doe

John Doe

02/10/2009 20:10:00
Quote Anchor link
Hoi allemaal,
Ik ben bezig met een script dat alle runescape item id's zoekt en koppelt met hun naam om later opgeslagen te kunnen worden.

cURL normaal:
Snelheid 0.5 per item.

cURL_multi met 5 items tegelijk:
Snelheid 0.2 per item.

cURL_multi met 10 items tegelijk:
Snelheid 0.14 per item.

Weet iemand of die sneller/effectiever kan, zoja hoe?

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
75
76
77
78
79
80
81
82
83
84
<?php
echo 'Started at '.date("H:i:s").'<br />';
flush();
function
name_id($data){
$begin = '<div class="brown_box main_ge_page vertically_spaced">'."\n".'<div class="subsectionHeader">';
$eind = '</div>';
if (preg_match("/Error/i",$data)){
        $result = "Bestaat niet";
    }
else{
        $exploded = explode($begin,$data);
        $exploded = explode($eind,$exploded[1]);
        $result = str_replace('<br />','',nl2br($exploded[0]));
    }

    return trim($result);
}

$getallen = range(0, 100);
$cURL_done = 0;
$last = 0;
// Urls to download
$urls = array();
foreach ($getallen as $value){
    $urls[] = 'http://itemdb-rs.runescape.com/viewitem.ws?obj='.$value;
}

    $threads = 10;
    $timeout = 30;

    $mcurl = curl_multi_init();
    $threadsRunning = 0;
    $urls_id = 0;
for(;;) {
        //de vrije ruimtes vullen
        while ($threadsRunning < $threads && $urls_id < count($urls)) {
            //echo 'Adding download link: '.$urls[$urls_id].'<br>';
            //flush();

            $ch = curl_init();
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
            curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);
            curl_setopt($ch, CURLOPT_URL, $urls[$urls_id++]);
            curl_multi_add_handle($mcurl, $ch);
            $threadsRunning++;
        }

        //Als hij klaar is
        if ($threadsRunning == 0 && $urls_id >= count($urls))
        break;
        
        //cURL
        curl_multi_select($mcurl);
        while(($mcRes = curl_multi_exec($mcurl, $mcActive)) == CURLM_CALL_MULTI_PERFORM) usleep(100000);
        if($mcRes != CURLM_OK) break;
        while($done = curl_multi_info_read($mcurl)) {
            $ch = $done['handle'];
            $done_url = curl_getinfo($ch, CURLINFO_EFFECTIVE_URL);
            $done_content = curl_multi_getcontent($ch);
            
            if(curl_errno($ch) == 0) {
                //output als er geen errors zijn
                $id = array_search($done_url, $urls);
                $id_name[$id]= name_id($done_content);
                $cURL_done++;
                $cURL_perCent = round($cURL_done / count($urls) * 100);
                $cURL_perDecem = floor($cURL_perCent / 10) * 10;
                if($last != $cURL_perDecem){
                    echo $cURL_perDecem.'% at '.date("H:i:s").'<br />';
                    $last = $cURL_perDecem;
                }

                flush();
                }
else {
                    //output als er een error is
                    echo "Link <a href='$done_url'>$done_url</a> failed: ".curl_error($ch)."<br>\n";
                    flush();
                }

                    curl_multi_remove_handle($mcurl, $ch);
                    curl_close($ch);
                    $threadsRunning--;
        }
    }

curl_multi_close($mcurl);
ksort($id_name);
echo 'Completed. at '.date("H:i:s");

echo '<pre>';
print_r($id_name);
echo '</pre>';
?>
Gewijzigd op 01/01/1970 01:00:00 door John Doe
 
PHP hulp

PHP hulp

20/04/2024 01:39:44
 
Gerard M

Gerard M

02/10/2009 21:43:00
Quote Anchor link
Je kan curl_multi_init gebruiken om veel requests tegelijk uit te voeren.

http://uk3.php.net/manual/en/function.curl-multi-init.php

Je moet wel opletten dat je d'r geen DOS attack van maakt trouwens ;)
Gewijzigd op 01/01/1970 01:00:00 door Gerard M
 
John Doe

John Doe

02/10/2009 22:06:00
Quote Anchor link
Lol je eigen/runescapes server ruïneren ;) Heb het script geupdate. Zie bovenaan.
Gewijzigd op 01/01/1970 01:00:00 door John Doe
 
Gerard M

Gerard M

03/10/2009 14:31:00
Quote Anchor link
Ik weet niet hoe runscape in elkaar zit (ik heb het nooit gespeeld). Maar als ik zo kijk lijkt het er op dat niet elk ID nummer bestaat - dus die nummers kan je overslaan. Daarnaast denk ik niet dat het veel sneller kan gaan met php.

Je kan proberen met nog meer threads te werken? En als runescape maar N connecties toestaat een proxy gebruiken? Draai je het script op een goede internet connectie trouwens?

Als ik wget gebruik zit ik ook rond de 0.3 seconde per item (1 connectie per keer). Dus 0.3 seconde lijkt het minimum per request.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
#!/bin/bash

for (( i=1; i<=100; i++ ))
do
    wget http://itemdb-rs.runescape.com/viewitem.ws?obj=${i};
done
?>



Btw, ik neem aan dat je het script niet 'per request' draait maar als een cronjob, en de output in een database steekt?
Gewijzigd op 01/01/1970 01:00:00 door Gerard M
 
John Doe

John Doe

03/10/2009 17:55:00
Quote Anchor link
Het nadeel is dat runescape nog al is wil wisselen van id's vanwege robots. Ik laat het script voorlopig nog even op mijn localhost draaien mbv xxamp zit nu op 0.2 seconde en idd het is een cronjob kijk ff of het allemaal lukt en dan breng ik jullie op de hoogte.

Edit: hij is nu aan het scannen. ongeveer 60%
Gewijzigd op 01/01/1970 01:00:00 door John Doe
 



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.