Ruivo Posted July 3, 2012 at 11:17 PM Report Share #467166 Posted July 3, 2012 at 11:17 PM Bom dia pessoal estou com um problema usando o preg_match. Dantes eu usava o preg_match e estava tudo a funcionar. Mas agora o site onde eu obtinha os valores alterou ali um promenor. Que para se ver a pagina que contem os valores que eu quero é precisso de fazer Login. Então gostaria de saber como obter o valores? Cumprimentos Link to comment Share on other sites More sharing options...
pedrosorio Posted July 3, 2012 at 11:22 PM Report Share #467169 Posted July 3, 2012 at 11:22 PM O que é que o preg_match tem a ver com o resto? Estavas a ir buscar valores a um site (CURL?) e usavas preg_match para identificar esses valores. Agora é preciso fazer login. Portanto a tua dúvida é como fazer login, o preg_match não é para aqui chamado. Sem saber qual é o site ou o tipo de login, parece-me difícil ajudar-te. Não respondo a dúvidas por mensagem. Link to comment Share on other sites More sharing options...
Ruivo Posted July 3, 2012 at 11:30 PM Author Report Share #467170 Posted July 3, 2012 at 11:30 PM O site é este http://en.warrock.nexoneu.com/ Sim a minha duvida é como fazer login. Mais qualquer coisa eu digo. Tipo de login é penso que: User ID e Password. e é feito por cookies... Link to comment Share on other sites More sharing options...
laeknishendr Posted July 4, 2012 at 01:27 AM Report Share #467189 Posted July 4, 2012 at 01:27 AM Olá camarada Ruivo, pelo que entendi deseja usar cURL para fazer login, seria ótimo se você postasse os valores que você deseja pegar com os prefixos e sufixos, caso já tenha conseguido fazer login no sistema. Link to comment Share on other sites More sharing options...
Ruivo Posted July 4, 2012 at 01:59 AM Author Report Share #467192 Posted July 4, 2012 at 01:59 AM Olá camarada Ruivo, pelo que entendi deseja usar cURL para fazer login, seria ótimo se você postasse os valores que você deseja pegar com os prefixos e sufixos, caso já tenha conseguido fazer login no sistema. Os dados estão por exemplo nesta pagina: http://en.warrock.nexoneu.com/Ranking/Profile#/xhawkeye08 são as Kills, Deaths, Nick, Nivel e por ai... Quanto a cURL eu nunca usei nem faço a minima ideia. Eu não consigo pegar os dados declarando os cookies antes da script? Se não então que devo usar? Link to comment Share on other sites More sharing options...
yoda Posted July 4, 2012 at 07:42 AM Report Share #467200 Posted July 4, 2012 at 07:42 AM O que estás a tentar fazer é legal? before you post, what have you tried? - http://filipematias.info sense, purpose, direction Link to comment Share on other sites More sharing options...
HappyHippyHippo Posted July 4, 2012 at 09:06 AM Report Share #467207 Posted July 4, 2012 at 09:06 AM O que estás a tentar fazer é legal? se for só verificar o ranking deverá ser ... não vejo problemas em saber a informação estatística de um jogador no entanto os links dão informação que o site encontrasse em manutenção, por isso, daqui nada IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
Ruivo Posted July 4, 2012 at 11:12 AM Author Report Share #467217 Posted July 4, 2012 at 11:12 AM se for só verificar o ranking deverá ser ... não vejo problemas em saber a informação estatística de um jogador no entanto os links dão informação que o site encontrasse em manutenção, por isso, daqui nada Sim é legal. Agora o site já deve estar disponivel. Link to comment Share on other sites More sharing options...
laeknishendr Posted July 4, 2012 at 02:50 PM Report Share #467271 Posted July 4, 2012 at 02:50 PM Ruivo, você primeiramente precisa usar cURL para fazer o login na página "http://passport.nexoneu.com/Login.aspx?nexoneuTheme=Warrock", deve também definir a constante CURLOPT_COOKIEJAR, para salvar os cookies após o login. Feito esse processo aí sim você deve acessar a página "http://en.warrock.nexoneu.com/Ranking/Profile#/xhawkeye08" Link to comment Share on other sites More sharing options...
Ruivo Posted July 5, 2012 at 12:57 PM Author Report Share #467417 Posted July 5, 2012 at 12:57 PM Estive a tentar <?php $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "http://passport.nexoneu.com/Login.aspx?nexoneuTheme=Warrock"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $output = curl_xec($ch); echo "$output"; $url = file_get_contents("http://en.warrock.nexoneu.com/Ranking/Profile/xhawkeye08", false, $context); preg_match('%<h1 class="catorzered">(.*?)<\/h1>%', $url, $nomeproduto); print 'Nome Produto: '.$nomeproduto[1].'<br>'; // Nome produto $nomeproduto preg_match('%<div class="profileInfo">(.*?)<\/div>%', $url, $precoproduto); print 'Preþo Produto: '.$precoproduto[1].'<br>'; //Preþo Produto $precoproduto curl_close($ch); ?> e dá-me o seguinte erro: Fatal error: Call to undefined function curl_init() in C:\Users\Rei120\Desktop\wos\www\warrock.php on line 2 Que está errado? Link to comment Share on other sites More sharing options...
HappyHippyHippo Posted July 5, 2012 at 01:00 PM Report Share #467420 Posted July 5, 2012 at 01:00 PM (edited) não tens instalado o módulo cURL do apache. faz este script <?php phpinfo(); ?> e verifica se realmente tens isso instalado Edited July 5, 2012 at 01:00 PM by HappyHippyHippo IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
Ruivo Posted July 5, 2012 at 01:16 PM Author Report Share #467429 Posted July 5, 2012 at 01:16 PM Pois eu procurei e nao encontrei nada relacionado com cURL na pagina phpinfo. Como posso instalar? Link to comment Share on other sites More sharing options...
dash Posted July 5, 2012 at 01:20 PM Report Share #467430 Posted July 5, 2012 at 01:20 PM Tens auxilio na página do cURL: http://curl.haxx.se/libcurl/php/install.html#windows Link to comment Share on other sites More sharing options...
Ruivo Posted July 6, 2012 at 03:11 AM Author Report Share #467599 Posted July 6, 2012 at 03:11 AM Muito obrigado pessoal já consegui instalar o cURL. Agora deparei-me com outro problema as expressões regulares que eu pensava estarem certas afinal devem ter qualquer coisa mal porque o valor não é apanhado Eu tenho assim: $url = file_get_contents("http://en.warrock.nexoneu.com/Ranking/Profile/xhawkeye08", false, $context); preg_match('%<td>KILLS<\/td>\n<td class="rTxt">[0-9.-]<\/td>%', $url, $kills); print 'Kills: '.$kills[1].'<br>'; e quero apanhar isto <tr> <td>KILLS</td> <td class="rTxt">318,717</td> </tr> Sendo o valor 318,717 o valor que eu quero que apanhe. Alguem me dá uma ajudinha? Link to comment Share on other sites More sharing options...
HappyHippyHippo Posted July 6, 2012 at 08:55 AM Report Share #467613 Posted July 6, 2012 at 08:55 AM (edited) estou a ver pelo menos alguns erros na expressão regular 1º - tens a seguinte combinação "[0-9.-]" para detectar um número, como vês, não tens o caracter virgula, caracter que aparece no número no HTML a ser interpretado "318,717" 2º - não estás a dizer que o grupo de elementos que determina o número pode aparecer 1 ou mais vezes, que na realidade deveria ser algo do genero: (-|)\d+(\,\d+|) isto indica : (-|) : sinal menos ou não \d+ : um dígito ou mais (\,\d+|) : uma virgula com um dígito ou mais ou nada 3º - lembra-te que o resultado será toda a entrada expressão regular, isto é, será todo o <td>KILLS</td> <td class="rTxt">318,717</td> podes usar o lookahead e o lookbehind para selecionar somente o que pretendes podes sempre usar sites online para testar a tua expressão regular como por exemplo : http://www.regextester.com/ Edited July 6, 2012 at 08:56 AM by HappyHippyHippo IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
Ruivo Posted July 6, 2012 at 07:26 PM Author Report Share #467792 Posted July 6, 2012 at 07:26 PM Desculpa mas nao estou a perceber. Será que me podes fazer a expressão regular em php? Link to comment Share on other sites More sharing options...
yoda Posted July 6, 2012 at 07:47 PM Report Share #467795 Posted July 6, 2012 at 07:47 PM Com esta classe safas-te melhor : http://php.net/manual/en/class.domxpath.php before you post, what have you tried? - http://filipematias.info sense, purpose, direction Link to comment Share on other sites More sharing options...
Ruivo Posted July 6, 2012 at 07:58 PM Author Report Share #467799 Posted July 6, 2012 at 07:58 PM Com esta classe safas-te melhor : http://php.net/manual/en/class.domxpath.php Eu nunca usei classes DOM e estive a ver e nao consegui perceber nada... Link to comment Share on other sites More sharing options...
yoda Posted July 6, 2012 at 09:07 PM Report Share #467812 Posted July 6, 2012 at 09:07 PM http://ditio.net/2008/12/01/php-xpath-tutorial-advanced-xml-part-1/ Aqui percebes o básico. É bastante fácil entender como funciona, e bem mais simples que expressões regulares. before you post, what have you tried? - http://filipematias.info sense, purpose, direction Link to comment Share on other sites More sharing options...
laeknishendr Posted July 7, 2012 at 04:16 AM Report Share #467847 Posted July 7, 2012 at 04:16 AM (edited) Olá ruivo, é simples para pegar o conteúdo dentro dessas tags: preg_match_all("/class=\"rTxt\">(.*?)<\/td>/", $var, $matches); Edited July 8, 2012 at 03:40 PM by brunoais geshi Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now