CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

API jvc : CDATA section not finished

Glosoli
Glosoli
Niveau 10
20 juillet 2015 à 19:00:40

Salut !

C'pas le meilleur forum pour en parler mais je sais qu'il y a des Nplay, des Alexandre et des Redsky qui traînent par ici, j'aurai plus de chance d'avoir une réponse rapide :hap:

En gros je recode mon bot jvstalker en php5 (qui était en python avant avec 3 libs :peur: )
J'arrive à récupérer environ 80% des messages d'un forum, mais j'ai une erreur très récurrente qu'est le cas du CDATA :d) https://i.imgur.com/9ZvlJg4.png
J'ai mon affichage en couleur du bot, et j'ai une erreur sur simplexml_load_string qui ne veut pas correctement gérer le CDATA :(
J'ai regardé TOUS les liens sur Google, y'en a aucun qui traite correctement de mon erreur, alors je suppose que c'est l'API qui foire ? :hap:

+ je mets bien LIBXML_NOCDATA en troisième paramètre de simplexml_load_string D:
simplexml_load_string($return, 'SimpleXMLElement', LIBXML_NOCDATA);

https://ws.jeuxvideo.com//forums/1-1000021-40251614-1-0-1-0-0.xml voici par exemple une page qui foire :( Elle n'est pas différente des autres, et l'erreur est assez détaillée dans le screen

Ah j'ai aussi pensé à une erreur d'encodage, quelques caractères qui font foirer la lecture du CDATA et ou je n'sais quoi
Ah aussi plus le topic est vieux (2008 et en dessous) plus cette erreur apparaît :peur:

Help :snif:

Message édité le 20 juillet 2015 à 19:03:07 par Glosoli
Glosoli
Glosoli
Niveau 10
20 juillet 2015 à 19:18:24

Est-ce que LIBXML_NOCDATA ne le fait pas tout seul ?
Je crois avoir déjà essayé, j'm'en vais réessayer encore
Tu utilises l'API toi ?

Message édité le 20 juillet 2015 à 19:18:36 par Glosoli
Glosoli
Glosoli
Niveau 10
20 juillet 2015 à 19:21:04

https://stackoverflow.com/questions/8283588/how-to-remove-cdata-and-end/8283718#8283718
Mate le petit commentaire de alex, je crois que c'est ce que j'ai comme problème, et compare à l'erreur sur l'image, tu l'as lu ?

Message édité le 20 juillet 2015 à 19:22:31 par Glosoli
Glosoli
Glosoli
Niveau 10
20 juillet 2015 à 19:23:41

Mate le second gros block d'erreurs de l'image, la deuxième ligne qui commence par "<script src..

Glosoli
Glosoli
Niveau 10
20 juillet 2015 à 19:26:40

Bon j'ai simplement mis avec str_replace, j'relance un peu voir si j'trouve l'erreur à nouveau :peur:

Edit: Ah ben nan encore :-(

Message édité le 20 juillet 2015 à 19:28:02 par Glosoli
Pseudo supprimé
Pseudo supprimé 20 juillet 2015 à 20:00:18

si tu vires le cdata, ça fonctionne?
avec un truc style $page = str_replace("<![CDATA[", "", str_replace("]]>", "", $page));

Glosoli
Glosoli
Niveau 10
20 juillet 2015 à 20:02:47

Le 20 juillet 2015 à 20:00:18 edwado_11 a écrit :
si tu vires le cdata, ça fonctionne?
avec un truc style $page = str_replace("<![CDATA[", "", str_replace("]]>", "", $page));

c'est c'que j'fais :hap: J'fais des tests :oui:

Glosoli
Glosoli
Niveau 10
20 juillet 2015 à 20:10:00

C'est lors de la requête que ça me fait ça, avec curl_exec. Il apparaît 4/5 fois dans tout l'code, faudrait que j'te file le code entier du tout :peur:

NPlay
NPlay
Niveau 12
20 juillet 2015 à 20:14:20

Passe à DomDocument + dégage tous les caractères ASCII compris entre 0 et 31 sauf le 10 13 et 9. :hap:

Glosoli
Glosoli
Niveau 10
20 juillet 2015 à 20:20:46

Le 20 juillet 2015 à 20:12:46 Alexandre a écrit :
Non c’est lors du parsing, vers là où tu as ton simplexml_load_string(), c’est de ça que j’ai besoin

Je fais pleins de tests, j'ai en gros ça


$return = curl_exec($curl);
$return = str_replace("<![CDATA[","",$return);                             
$return = str_replace("]]>","",$return);
$xml = simplexml_load_string($return);//, 'SimpleXMLElement', LIBXML_NOCDATA);
Glosoli
Glosoli
Niveau 10
20 juillet 2015 à 20:21:09

Le 20 juillet 2015 à 20:14:20 NPlay a écrit :
Passe à DomDocument + dégage tous les caractères ASCII compris entre 0 et 31 sauf le 10 13 et 9. :hap:

Euuuh enlever les ascii de 0 à 31 oki mais comment faire les exceptions ? :hap:

Glosoli
Glosoli
Niveau 10
20 juillet 2015 à 20:30:14
simplexml_load_string(): Entity: line 5: parser error : EntityRef: expecting ';'

<params_recherche>recherche=&mode=0&forum=1000021&index=1&type=3</params_recher
________________________________^ (avec la petite flèche sur le = dans cette url qui fait partie du xml)
en gros c'un souci d'encodage
Si j'fais $return = htmlspecialchars($return) ça le foire un peu trop :hap:

Glosoli
Glosoli
Niveau 10
20 juillet 2015 à 20:30:48

"Oui c'est ça, j'ai utilisé un xml que j'avais pas corrigé, alors que normalement tout lien doit utiliser & au lieu de &"

Ca concerne juste le & ?

Pseudo supprimé
Pseudo supprimé 20 juillet 2015 à 21:41:12

De toute façon l'API WS est dégueulasse. :hap:

Normalement y'a http://api.jeuxvideo.com/ , mais y'a pas de documentation alors ... :hap:

TintinMage
TintinMage
Niveau 10
20 juillet 2015 à 21:49:36

Ton erreur c'est passer de python à php
La api.jeuxvideo n'est pas vraiment une API
http://api.jeuxvideo.com/forums/42-1000021-40314815-1-0-1-0-api-jvc-cdata-section-not-finished.htm
Ça change quoi de la page web mobile ?

Message édité le 20 juillet 2015 à 21:52:24 par TintinMage
Pseudo supprimé
Pseudo supprimé 20 juillet 2015 à 21:59:22

Le 20 juillet 2015 à 21:49:36 TintinMage a écrit :
Ton erreur c'est passer de python à php
La api.jeuxvideo n'est pas vraiment une API
http://api.jeuxvideo.com/forums/42-1000021-40314815-1-0-1-0-api-jvc-cdata-section-not-finished.htm
Ça change quoi de la page web mobile ?

y a bien une api pour les services liés à jvc, sauf les forums qui sont en fait la version mobile html

Glosoli
Glosoli
Niveau 10
20 juillet 2015 à 22:10:30

Le 20 juillet 2015 à 21:49:36 TintinMage a écrit :
Ton erreur c'est passer de python à php
La api.jeuxvideo n'est pas vraiment une API
http://api.jeuxvideo.com/forums/42-1000021-40314815-1-0-1-0-api-jvc-cdata-section-not-finished.htm
Ça change quoi de la page web mobile ?

J'pense qu'effectivement c'est surtout de passer à l'api jvc.. C'est fatiguant :snif:

Pseudo supprimé
Pseudo supprimé 20 juillet 2015 à 22:25:07

Rien à voir, mais c'est quoi ce vieux GNOME 3.4 tout pourri ? :hap:

Faut me mettre ça à jour, et vite :noel:

Pseudo supprimé
Pseudo supprimé 20 juillet 2015 à 22:30:26

Certes, mais à moins qu'il soit aller trifouiller dans SysvInit, il n'y a aucune raison d'éviter de passer à Jessie :hap:

Que des avantages :oui:

De toute manière ce ne sont pas mes affaires :hap:

Message édité le 20 juillet 2015 à 22:30:57 par Pseudo supprimé
Pseudo supprimé
Pseudo supprimé 20 juillet 2015 à 22:38:40

Avoir des paquets récents, profiter des optimisations kernel, de systemd et un GNOME 3 capable de tourner avec Wayland? :hap:

Sous forums
  • Gestion des forums sans modérateurs
  • Sondages
  • Suggestions jeuxvideo.com
  • Boutique jeuxvideo.com
  • Demandes d'élections