-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtestarScrap.php
133 lines (113 loc) · 3 KB
/
testarScrap.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
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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
<?php
// URL ou HTML da página que você quer acessar
$html = file_get_contents('https://www.resultadofacil.com.br/resultado-do-jogo-do-bicho/PB');
// Criando a instância do DOMDocument
$dom = new DOMDocument();
@$dom->loadHTML($html);
// Criando um XPath para navegar no DOM
$xpath = new DOMXPath($dom);
// Seleciona todas as <div> que possuem a classe "row collapse in"
$divs = $xpath->query('//div[contains(@class, "row collapse in")]');
// Loop por cada <div>
foreach ($divs as $div) {
// Procurar todas as tabelas dentro da div
$tables = $div->getElementsByTagName('table');
$titles = $div->getElementsByTagName('h3');
$title1 = "";
$title2 = "";
$title3 = "";
$title4 = "";
$title5 = "";
$title6 = "";
// Verificar se há títulos suficientes antes de acessar
for ($i = 0; $i < $titles->length & $i < 6; $i++) {
$title = $titles->item($i)->nodeValue;
switch ($i) {
case 0:
$title1 = $title;
break;
case 1:
$title2 = $title;
break;
case 2:
$title3 = $title;
break;
case 3:
$title4 = $title;
break;
case 4:
$title5 = $title;
break;
case 5:
$title6 = $title;
break;
}
}
$diaResultados = [];
// Usar uma variável separada para os índices das tabelas
$tableIndex = 0;
// Loop por cada tabela encontrada
foreach ($tables as $table) {
// Pega todas as linhas <tr> da tabela
$rows = $table->getElementsByTagName('tr');
$resultado = [];
// Loop pelas linhas da tabela
foreach ($rows as $row) {
$cols = $row->getElementsByTagName('td');
$data = [];
// Extrair dados de cada célula <td>
foreach ($cols as $index => $col) {
$keyName = "";
switch ($index) {
case 0:
$keyName = "Premio";
break;
case 1:
$keyName = "Milhar";
break;
case 2:
$keyName = "Grupo";
break;
case 3:
$keyName = "Bicho";
break;
}
$data[] = [$keyName => $col->nodeValue];
}
if (!empty($data)) {
$resultado[] = $data;
}
}
// Atribuir o título correto baseado no índice da tabela
$titleL = "";
switch ($tableIndex) {
case 0:
$titleL = $title1;
break;
case 1:
$titleL = $title2;
break;
case 2:
$titleL = $title3;
break;
case 3:
$titleL = $title4;
break;
case 4:
$titleL = $title5;
break;
case 5:
$titleL = $title6;
break;
}
// Incrementar o índice das tabelas
$tableIndex++;
// Associar o título com o resultado da tabela
$diaResultados[] = [$titleL => $resultado];
}
$dataAtual = date("d-m-Y");
file_put_contents("./raspagens/$dataAtual.json", json_encode($diaResultados));
// Exibir o resultado em formato JSON
echo json_encode($diaResultados);
}
?>