Autor
|
Tema: PHP, Curl y facebook (Leído 2,527 veces)
|
Zoik
Desconectado
Mensajes: 91
|
Buenas gente, cuanto tiempo
bien estoy practicando crawling y scraping en php, y estoy mirando a ver si se puede leer el código de una página cualquiera de facebook, para mi sorpresa cuando leo la url con curl, este no me devuelve nada.
Imagino que es debido a que facebook ya tiene contramedidas contra bots, pero me gustaría saber si hay alguna manera de hacerlo sin utilizar la propia api de facebook.
Un saludo y gracias de antemano.
|
|
|
En línea
|
|
|
|
engel lex
|
si no muestras como lo haces, es dificil saber... capaz eres tu el que se equivoca...
|
|
|
En línea
|
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
|
|
|
Zoik
Desconectado
Mensajes: 91
|
<?php function curl($url) { CURLOPT_RETURNTRANSFER => TRUE, CURLOPT_FOLLOWLOCATION => TRUE, CURLOPT_AUTOREFERER => TRUE, CURLOPT_CONNECTTIMEOUT => 120, CURLOPT_TIMEOUT => 120, CURLOPT_MAXREDIRS => 10, CURLOPT_USERAGENT => "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1a2pre) Gecko/2008073000 Shredder/3.0a2pre ThunderBrowse/3.2.1.8", CURLOPT_URL => $url, ); return $data; } echo curl("www.facebook.com"); ?>
Un saludo.
|
|
|
En línea
|
|
|
|
engel lex
|
si... el error es tuyo... tu crees que los navegadores no usan curl o metodos similares? como podría FB saber la diferencia? cambia
por
para que veas el error... el error es sobre el certificado local para la conexión https... bueno... busca sobre el error y verás de que va y por qué... si no te importa el certificado (ni que le hagan un MItM a tu bot) a las opciones agregale estas 2 lineas CURLOPT_SSL_VERIFYHOST => false, CURLOPT_SSL_VERIFYPEER => false
lo que siempre digo... hay que aprender a leer los errores... hay que ver siempre si la librería retorna errores o no
|
|
|
En línea
|
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
|
|
|
MinusFour
|
Yo creo que necesitas ejecutar curl antes de poder revisar el error, tecnicamente el error deberia aparecer justo despues de usar curl_exec entonces... if($data === false){ }
Es muy probable que no tengas instalado los certificados necesarios. Si usas PHP 5.3.7 en adelante hay una directiva que puedes usar en tu php.ini: curl.cainfo = /etc/certificados.crt
de lo contrario creo que vas a tener que agregar: CURLOPT_CAINFO => '/etc/certificados.crt'
A tu arreglo de opcioens. Te puedes bajar un ca-bundle de mozilla o usar los de tu sistema (depende de tu SO). Si quieres usar los de mozilla, puedes bajarte el .crt de aqui: https://raw.githubusercontent.com/bagder/ca-bundle/master/ca-bundle.crtEl archivo lo tienes que guardar donde tu quieras, pero tiene que tener permisos de lectura y el path debe verse reflejado en la configuracion (en mi ejemplo use /etc/certificados.crt). La otra opcion es simplemente olvidarse de los certificados y usar lo que engel lex te ha dicho. Tambien puede ser que tu problema no tenga nada que ver con esto... pero no has puesto el error asi que esto es solo una conjetura.
|
|
|
En línea
|
|
|
|
dimitrix
|
Para Facebook eso usa mejor "Casper".
Igualmente.... si quieres hacerlo profesionalmente, hay unas cositas llamadas "API".
Mi consejo: Si de verdad quieres practicar, empieza por este foro y no por FB.
|
|
|
En línea
|
|
|
|
Zoik
Desconectado
Mensajes: 91
|
Muchas gracias por responder tan rápido cuando llegue a casa lo probaré todo y ya comento.
Un saludo.
|
|
|
En línea
|
|
|
|
EFEX
Desconectado
Mensajes: 1.171
"Dinero Facil"
|
Igualmente.... si quieres hacerlo profesionalmente, hay unas cositas llamadas "API".
Se pero tengo que registrarme, registrar mi app, descargar sdk, que facebook me siga..
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
CURL
PHP
|
OssoH
|
2
|
3,828
|
12 Enero 2011, 09:11 am
por OssoH
|
|
|
curl && c++
Programación C/C++
|
darkvidhack
|
2
|
3,548
|
14 Agosto 2011, 18:43 pm
por darkvidhack
|
|
|
Php, Curl y Facebook
PHP
|
xustyx
|
4
|
3,801
|
29 Octubre 2011, 18:48 pm
por lnvisible
|
|
|
Hacer cURL en respuesta de cURL para posterior scraping.
PHP
|
goditozor
|
3
|
4,703
|
1 Septiembre 2014, 20:32 pm
por WHK
|
|
|
llamada curl no funciona
Desarrollo Web
|
OssoH
|
4
|
3,222
|
9 Diciembre 2020, 18:09 pm
por OssoH
|
|