[PHP] grabben van quotes op bettingsites

Pagina: 1
Acties:
  • 204 views sinds 30-01-2008
  • Reageer

Onderwerpen


Acties:
  • 0 Henk 'm!

  • BKJ
  • Registratie: April 2000
  • Laatst online: 18-09 14:52
Ik ben bezig voor een opdrachtgever om van een aantal sites snel quotes (odds) te halen en deze overzichtelijk weer te geven (op een privé-site of win app).

Voorbeeld:

- site: http://www.bodog.com/spor...b-baseball-team-props.jsp
- gegevens: alle odds voor: Will there be a Run scored in the First Inning?

Output:

Bodog.com mil phi 110 -140
Bodog.com bos cub -110 -120
Bodog.com det col -150 120
Bodog.com sea was 110 -140
Bodog.com tb pit 115 -155
Bodog.com ana nym 110 -140
Bodog.com bal cin -110 -120

Dit lukt me nog redelijk door het volgende te doen:

PHP:
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
$inhoud = file_get_contents("http://www.bodog.com/sports-betting/mlb-baseball-team-props.jsp");


$yes = explode("First Inning? ", $inhoud);
$aantal = count($yes);


$i=1;
while($i < $aantal) {
    
    list($matchesraw, $zooi) = explode(")", $yes[$i], 2);
    $matches[$i] = $matchesraw;
    $matches[$i] = strtolower($matches[$i]);
    list($thuis[$i], $uit[$i]) = explode(" vs ", $matches[$i], 2);
    $thuis[$i] = str_replace("(", "", $thuis[$i]);
    $thuis[$i] = preg_replace("/\s+/", "", $thuis[$i]);
    $i++;

}

$yes = explode("Yes", $inhoud);
$aantal = count($yes);

$i=1;
while($i < $aantal) {

    
    list($zooi, $raw1) = explode("future-checkbox\">", $yes[$i], 2);
    list($zooi, $raw2) = explode(">", $raw1, 2);
    list($quotes_yes[$i], $raw3) = explode("<", $raw2, 2);
    $i++;

}

$yes = explode("future-competitor-name\">No<BR>", $inhoud);
$aantal = count($yes);

$i=1;
while($i < $aantal) {

    
    list($zooi, $raw1) = explode("future-checkbox\">", $yes[$i], 2);
    list($zooi, $raw2) = explode(">", $raw1, 2);
    list($quotes_no[$i], $raw3) = explode("<", $raw2, 2);
    $i++;

}

$i=1;
while($i < $aantal) {

    
    echo "Bodog.com $thuis[$i]  $uit[$i] $quotes_yes[$i] $quotes_no[$i]<br>";
    $i++;

}


Nu zie ik bijvoorbeeld alweer een foutje: Er is 1 wedstrijd iets anders weergegeven en direct zijn de quotes bij de verkeerde wedstrijd...

Hoe kan ik kortom mijn methode robuuster maken? En hoe voorkom ik dat bij een lay-out change van één van de sites mijn scripts niet meer werken? Is mijn methode de slimste? Zijn er snellere methodes?

Als jullie ervaring hier mee hebben: hoe doen jullie dit?

[ Voor 8% gewijzigd door BKJ op 10-06-2005 20:45 ]

Kamer huren


Acties:
  • 0 Henk 'm!

  • frickY
  • Registratie: Juli 2001
  • Laatst online: 18-09 14:42
Gebruik een regular expression (ereg()) om de 'odds' te vinden.

Ga opzoek naar verbanden tussen alle dingen welke je wilt afvangen. Zo staan alle 'teams' als
code:
1
<div class="future-competitor-name">Philadelphia Phillies<BR>


En alle odds als
code:
1
<A CLASS="lineOdd" HREF="/sportsbook/app/CreateWager?lineID=653078">+160</A>


Als je eerst explode op
code:
1
<div class="futurecolumnHeading">

zijn deze er redelijk eenvoudig uit te vissen.

[ Voor 14% gewijzigd door frickY op 10-06-2005 20:48 ]