Flux rss
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Non résolu

Web scrping

gunslinger, le jeudi 24 avril 2008 à 17:53:08
Bonjour,

Voila j'aimerai faire du web scraping. Pour ceux qui ne saurai pas ce que c'est j'explique je voudrai automatisé des remplissage de formulaire a partir d'une autre page en php.

Pour y parvenir j'utilise la librairie curl mais sa ne fonctionne pas la requete post que j'effectue n'est pas considérer comme la validation du formulaire. Je récupère un message comme quoi je n'ai pas donnée le bon code client.

Est-ce que quelqu'un serais pourquoi sa ne fonctionne pas ? Et surtout comment je pourrai y parvenir ?
Je fais pour récupéré des stats que je traite et que j'affiche après tout est gratuit donc je ne pense pas que de ce coter il y est des problèmes.

Merci beaucoup pour votre aide.
Répondre à gunslinger  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
R4f, le jeudi 24 avril 2008 à 23:44:18
Peut-être avec Perl et HTTP::Recorder qui est un proxy qui te permet d'enregistrer des sessions puis d'en créer des scripts utilisables par le module WWW::Mechanize (qui visite les sites tout seul, mécaniquement)

http://www.perl.com/pub/a/2004/06/04/recorder.html


Pour être aidé le plus rapidement possible : donner un sujet parlant à votre message +indiquer
ce qui est en place + ce que vous avez fait + ce que ça devrait faire + ce que ça fait.
Répondre à R4f

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
gunslinger, le vendredi 25 avril 2008 à 09:57:39
Salut merci je vai regarder.

Juste pour savoir tu ne conneterai pas un moyen de valider un formulaire html comme un internaute le ferai mais a partir d'un script php. Comme en effectuant une requete http. C ce que j'essaie de faire mais sa ne marche pas.

Merci.
Répondre à gunslinger

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
R4f, le vendredi 25 avril 2008 à 10:09:07
En fait, valider un formulaire html, cela n'existe que pour quelqu'un qui est devant son ordinateur avec un navigateur.

Du point de vue du serveur web (et c'est ça qui nous intéresse), il n'y a pas de navigateur, il n'y a que des requêtes (GET/POST). Donc il faut voir le code HTML de la page car c'est elle qui contient le formulaire qu'il faudra remplir...

On peut le faire en PHP avec le module Curl.

http://www.seoblackout.com/2008/02/13/soumission-automatiqu­e-formulaire/


Raph Pour être aidé le plus rapidement possible : donner un sujet parlant à votre message +indiquer
ce qui est en place + ce que vous avez fait + ce que ça devrait faire + ce que ça fait.
Répondre à R4f

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
gunslinger, le vendredi 25 avril 2008 à 10:34:09
C'est ce que je fais.

J'ai regarder le code source de la page puis récupérer toutes les info du formulaire que j'ai remplie dans ma fonction curl mais qd je valide le formulaire la page que j'appelle me mes cette erreur :

The following problem has been reported:

* Your specified referrer company code could not be accepted

et pourtant je lui donne toutes les info qu'elle veut au poils de cul donc soit il me manque qu'elle que chose que j'ai pas vu soit ben jen c rien ...

Merci pour ton aide.
Répondre à gunslinger

5


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
R4f, le vendredi 25 avril 2008 à 10:43:01
Tout est dans le message d'erreur :
* Your specified referrer company code could not be accepted 


c'est pour ça que les messages d'erreur sont importants : c'est le moyen de communication entre le développeur d'une application et l'utilisateur...

Donc, il doit y avoir un pb de referer , c'est à dire "la page qui contient un lien vers la page que tu visite" ou alors "la page qui contient le formulaire".

Il faut donc ajouter ça à ton code :

$referer = "http://..."
curl_setopt($ch, CURLOPT_REFERER, $referer);


N'oublie pas de modifier $ch selon ton code et http://... avec l'URL de la page web qui contient le formulaire original.


Raph
Pour être aidé le plus rapidement possible : donner un sujet parlant à votre message +indiquer
ce qui est en place + ce que vous avez fait + ce que ça devrait faire + ce que ça fait.
Répondre à R4f

6


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
gunslinger, le vendredi 25 avril 2008 à 10:53:26
D'accord je comprend le probleme mais je l'avais mis identique a l'url que j'appelle je vien d'essayer en le pointant sur la page d'avant mais sa ne marche pas non plus c tu pourquoi ??

Merci pour ton aide.
Répondre à gunslinger

9


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
gunslinger, le vendredi 25 avril 2008 à 14:12:38
je vient de trouver ou était mon problème pour mon referer il me manquais \r\n a la fin maintenant je reçois ce message Length Required c tu pourquoi je reçois sa et comment faire ben pour regler ce probleme ????

Merci
Répondre à gunslinger

7


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
gunslinger, le vendredi 25 avril 2008 à 12:35:56
je vien de trouver ce qui n'allais pas avec mon referer il manquait \r\n a la fin et maintenant j'obtien
ce message :

Length Required

c tu pourquoi ???

Merci
Répondre à gunslinger

8


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
gunslinger, le vendredi 25 avril 2008 à 12:36:54
je vien de trouver ce qui n'allais pas avec mon referer il manquait \r\n a la fin et maintenant j'obtien
ce message :

Length Required

c tu pourquoi ???

Merci
Répondre à gunslinger

10


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
R4f, le vendredi 25 avril 2008 à 15:53:27
Non car je ne suis pas magicien. Je ne sais rien de ton script, déjà que c'est pas facile lorsqu'on a du code sous les yeux, mais sans code, ça devient.... franchement balaise.


Pour être aidé le plus rapidement possible : donner un sujet parlant à votre message +indiquer
ce qui est en place + ce que vous avez fait + ce que ça devrait faire + ce que ça fait.
Répondre à R4f

11


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
gunslinger, le vendredi 25 avril 2008 à 15:59:30
voila la partie de mon code qui ne fonctionne pas

$postfields = array(); // les données a envoyer


$header = array();
$header[0] = "Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5\r\n";
$header[] = "Accept-Language: fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3\r\n";
$header[] = "Accept-Encoding: gzip,deflate\r\n";
$header[] = "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7\r\n";
$header[] = "Keep-Alive: 300\r\n";
$header[] = "Connection: keep-alive\r\n";
$header[] = "Content-Length: 400\r\n";

//url de la page de soumission
$url = "http://www....";
$useragent = "Mozilla/5.0";
$referer = "http://www....\r\n";

//Initialise une session CURL
$ch = curl_init($url);
//CURL options
//on défini les entetes de la requete http
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
//On poste les données du tableau $postfields
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postfields);
//On définit un useragent ici Mozilla/5.0
//souvent les bots se font passés pour googlebot ce qui finalement est stupide
//On passe donc un useragent banal
curl_setopt($ch, CURLOPT_USERAGENT, $useragent);
//On passe un referrer ici on passe la même page $url
curl_setopt($ch, CURLOPT_REFERER, $referer);
//on récupère le contenu de la page de résultat de la soumission dans une chaine
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

//Page de résultats et fermeture de session
$result = curl_exec($ch);
curl_close($ch);

//on peut faire un echo du résultat obtenu
echo $result;
Répondre à gunslinger

12


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
R4f, le vendredi 25 avril 2008 à 16:05:52
Apparemment, il ne faut jamais mettre \r\n dans les headers.

Pour être aidé le plus rapidement possible : donner un sujet parlant à votre message +indiquer
ce qui est en place + ce que vous avez fait + ce que ça devrait faire + ce que ça fait.
Répondre à R4f

13


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
gunslinger, le vendredi 25 avril 2008 à 16:11:41
J'ai essayer en les retirant mais sa ne change rien.
Répondre à gunslinger

14


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
gunslinger, le vendredi 25 avril 2008 à 16:24:12
Je vien de retirer le \r\n de derriere mon referer et maintenant j'ai cette erreur la en gardant mon header :

Bad Request (Invalid Header Name)

ma requete reste la m et maintenant elle serait incorrect je comprend plus rien ??
Répondre à gunslinger

15


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
gunslinger, le vendredi 25 avril 2008 à 17:37:10
En faite c comme si il ne prenais pas mon header en compte que je le mette ou pas sa revien au m message d'erreur.
Répondre à gunslinger

16


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
R4f, le vendredi 25 avril 2008 à 22:24:24
Tu peux remettre ton code, sans les \n\r ?

A quoi ça sert le Content-length à 400 ?


Pour être aidé le plus rapidement possible : donner un sujet parlant à votre message +indiquer
ce qui est en place + ce que vous avez fait + ce que ça devrait faire + ce que ça fait.
Répondre à R4f

17


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 gunslinger1, le samedi 26 avril 2008 à 16:52:04
J'ai essayer mon code sans les \r\n mais sa ne change rien voici mon code sans :

$postfields = array(); // les données a envoyer


$header = array();
$header[0] = "Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,­*/*;q=0.5";
$header[] = "Accept-Language: fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3";
$header[] = "Accept-Encoding: gzip,deflate";
$header[] = "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7";
$header[] = "Keep-Alive: 300";
$header[] = "Connection: keep-alive";
$header[] = "Content-Length: 400";

//url de la page de soumission
$url = "http://www....";
$useragent = "Mozilla/5.0";
$referer = "http://www....\r\n";

//Initialise une session CURL
$ch = curl_init($url);
//CURL options
//on défini les entetes de la requete http
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
//On poste les données du tableau $postfields
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postfields);
//On définit un useragent ici Mozilla/5.0
//souvent les bots se font passés pour googlebot ce qui finalement est stupide
//On passe donc un useragent banal
curl_setopt($ch, CURLOPT_USERAGENT, $useragent);
//On passe un referrer ici on passe la même page $url
curl_setopt($ch, CURLOPT_REFERER, $referer);
//on récupère le contenu de la page de résultat de la soumission dans une chaine
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

//Page de résultats et fermeture de session
$result = curl_exec($ch);
curl_close($ch);

//on peut faire un echo du résultat obtenu
echo $result;

si je les m pas sur mon referer sa ne fonctionne pas.

le content-lenght c pour spécifié la longueur de la requete envoyer car mon erreur maintenant c sa

Merci
Répondre à gunslinger1

Résultats pour web scrping

Webmastering - Webdesign Introduction au webdesign Le terme « webdesign » désigne la discipline consistant à structurer les éléments graphiques d'un site web afin de traduire, à travers une dimension esthétique, l'identité visuelle de la société ou de l'organisation. Il... www.commentcamarche.net/contents/web/webdesign.php3
PHP - Installation d'un serveur Web sous Linux (Apache, PHP et M Introduction Un serveur web est un logiciel permettant de rendre accessibles à de nombreux ordinateurs (les clients) des pages web stockées sur le disque. Cette fiche pratique explique comment installer le serveur web Apache sur un système de type... www.commentcamarche.net/contents/php/phpinst.php3
Webmastering - Introduction à la création de pages web Notion de site web Un site web (aussi appelé site internet par abus de langage) est un ensemble de fichiers HTML, liés par des liens hypertextes, stockés sur un serveur web, c'est-à-dire un ordinateur connecté en permanence à internet, hébergeant... www.commentcamarche.net/contents/web/webintro.php3

Résultats pour web scrping

[Aspirateur de pages HTML] Comment aspirer un site Web ?HTTrack est un excellent aspirateur, gratuit en licence GNU GPL (libre). HTTrack permet de télécharger un site web d'Internet vers votre disque dur, en construisant récursivement tous les répertoires, récupérant html, images et fichiers du serveur... www.commentcamarche.net/faq/sujet-2658-aspirateur-de-pages-html-comment-aspirer-un-site-web
[Webmaster] Publier facilement une vidéo dans une page webPublier une vidéo dans une page web n'est pas toujours évident: Selon le format (AVI, MPG, MOV...) tout le monde ne possède pas forcément le bon plugin et le bon codec. En revanche, la quasi-totalité des navigateurs possèdent le plugin Flash (SWF).... www.commentcamarche.net/faq/sujet-3049-webmaster-publier-facilement-une-video-dans-une-page-web
Installer WebMinWebMin permet d'administrer à distance une machine Linux à partir d'un simple navigateur. Voici les instructions pour installer rapidement l'interface d'administration WebMin sous Debian (et Ubuntu): 1) Installez les paquets nécessaires à... www.commentcamarche.net/faq/sujet-8986-installer-webmin

Résultats pour web scrping

Logiciel pour creation de site web (Résolu)salut tout le monde je voudrais savoir quel logiciels je pourrait utiliser pour creer mon site web merci www.commentcamarche.net/forum/affich-404588-logiciel-pour-creation-de-site-web
Enregistrement d'un vidéo avec une webcam. (Résolu)Bonjour, j'aimerais savoir s'il est possible d'enregistrer une séquence vidéo avec ma webcam. Cette dernière permet facilement de prendre des photos et de faire des vidéo conférence sur MSN Messenger. Toutefois, je ne sais pas comment... www.commentcamarche.net/forum/affich-1646057-enregistrement-d-un-video-avec-une-webcam
Cherche logiciel flash gratuit pour site web (Résolu)Bonjour! Je monte un site web et je cherche un logiciel gratuit sans pub pour faire des petites animations flash. Je ne veux pas avoir de graphique de type pub dans mon animation. Est-ce que ça se trouve un logiciel gratuit sans pub capable de... www.commentcamarche.net/forum/affich-2159783-cherche-logiciel-flash-gratuit-pour-site-web

Résultats pour web scrping

Télécharger Web Developer ToolbarWebDeveloper est une extension firefox représentant une formidable boîte à outils pour examiner et manipuler les pages web. On peut: Activer/Désactiver java, javascript, HTTP Referer, cache... Manipuler les cookies, les désactiver par domaines,... www.commentcamarche.net/telecharger/telecharger-257-web-developer-toolbar
Télécharger Dr Web CureIt !Utilitaire GRATUIT et simple d'utilisation pour désinfecter votre ordinateur des virus et de nombreux codes indésirables, mis à disposition par Dr.Web Anti-virus et mis à jour une à plusieurs fois par heure. CureIT! détecte et supprime : Les vers... www.commentcamarche.net/telecharger/telecharger-34055347-dr-web-cureit
Télécharger K9 Web ProtectionK9 Web Protection est un logiciel de contrôle parental permettant de contrôler et de limiter les accès à Internet de son enfant. Il obtient cinq étoiles sur six sur le site filtra.info, ce qui le positionne comme un des meilleurs logiciels de... www.commentcamarche.net/telecharger/telecharger-34055036-k9-web-protection

Résultats pour web scrping

Hercules Webcam DeluxeUSB,1280x960,30 fps,Résolution vidéo maximale:1280x960 Pixels,Mode photographie,Mise au point: ,Logicels inclus:Arcsoft,Microphone,Interface:USB,Images par seconde:30 Fps,Divers: ,Page web du... www.commentcamarche.net/guide-achat/hercules-webcam-deluxe-536911-fiche-technique
Trust CP-2100 WebcamUSB,640x480,30 fps,Résolution vidéo maximale:640x480 Pixels,Mise au point: ,Mode photographie,Microphone,Logicels inclus: ,Interface:USB,Divers: ,Images par seconde:30 Fps,Page web du produit:Anglais,Couleur:24... www.commentcamarche.net/guide-achat/trust-cp-2100-webcam-579788-fiche-technique
Trust WB-5400 WebcamUSB,30 fps,Résolution vidéo maximale: ,Page web du produit:Anglais,Mode photographie,Logicels inclus: ,Microphone: ,Mise au point: ,Interface:USB,Divers: ,Images par seconde:30 Fps,Couleur: ,Compatibilité:  www.commentcamarche.net/guide-achat/trust-wb-5400-webcam-738320-fiche-technique

Résultats pour web scrping

Hébergement (Web Hosting)Qu'appelle-t-on hébergement ? Afin de rendre disponible un site web 24/24H il est nécessaire qu'il soit hébergé sur un serveur relié en permanence à Internet. Techniquement il est possible d'héberger son site Internet soi-même à condition de... www.commentcamarche.net/contents/web/hebergement.php3
Webmastering - Conception d'un site webConception d'un site web La conception d'un site web doit être une démarche participative, orientée utilisateurs, c'est-à-dire qu'elle doit se faire, autant que possible, en concertation avec un ensemble de représentants de l'entreprise ou de... www.commentcamarche.net/contents/web/conception.php3
Web - Introduction au World Wide WebIntroduction au World Wide Web On appelle «Web» (nom anglais signifiant «toile»), contraction de «World Wide Web» (d'où l'acronyme www), une des possibilités offertes par le réseau Internet de naviguer entre des documents reliés par des liens... www.commentcamarche.net/contents/www/www-intro.php3