Contenu | Rechercher | Menus

Annonce

Si vous rencontrez des soucis à rester connecté sur le forum (ou si vous avez perdu votre mot de passe) déconnectez-vous et reconnectez-vous depuis cette page, en cochant la case "Me connecter automatiquement lors de mes prochaines visites".
nombre réponses : 25

#0 -1 »  segfault introuvable [RéSOLU] » Le 09/02/2015, à 15:00

dva2tlse
Réponses : 3

J'ai un programme qui tourne et envoie des sorties de contrôle vers stdout; elles ne s'affichent qu'avec un certain retard par rapport au point d'exécution auquel en est réellement le programme.
Mais j'ai l'impression que si une erreur intervient, elle est signalée immédiatement, sans attendre que les sorties déjà générées mais pas encore affichées ne le soient. Ce qui fait me semble-t'il, que la segfault signalée se retrouve à l'écran au beau milieu de sorties parfaitement normales générées préalablement, et qui étaient en train d'arriver à l'affichage au moment ou s'est produit la segfault.
Est-ce réaliste comme comportement ?
Y aurait il un moyen de synchroniser l'affichage normal et l'affichage des problèmes.
Je m'aperçois en écrivant ceci, qu'on pourrait imaginer que ça voudrait dire que stdout est bufferisé alors que stderr est direct.
Comment puis je faire pour trouver ma segfault (j'utilise déjà gdb, qui me dit à quelle ligne ça plante, mais ce message est affiché au milieu de sorties normales)
Merci,
David

#1 Re : -1 »  segfault introuvable [RéSOLU] » Le 09/02/2015, à 18:09

dva2tlse
Réponses : 3

Ouais super; c'est exactement ça.
Je n'aurais jamais imaginé qu'on pouvait utiliser la redirection ainsi, mais ça semble être exactement ce qu'il me semble que j'aie besoin; mon exécutable s'appelle S (comme esSai) dans le répertoire où je travaille, et je le lance ordinairement avec ses arguments par :
$ ./S p2srfd05 el05.inp
Donc si j'ai bien compris, alors que je n'ai jamais vu ni utilisé de redirections précédant l'exécutable  (mébon YOUPI, je me coucherai moins ignare ce soir) ça devrait donner :
$ 2>&1 ./S p2srfd05 el05.inp
(ou avec des guillemets :    $ 2>&1 "./S p2srfd05 el05.inp";    pas forcément très utiles)

Et pour utiliser gdb je faisais
$ gdb ./S < RUN5A
ou RUN5A est un fichier de quelques lignes qui permet de passer les arguments et les commandes à gdb, avec :
        run p2srfd05 el05.inp
        bt
        q
        y
mais là, je ne sais pas trop où placer la redirection de stderr sur stdout.

  M'enfin j'essaierai ça demain au boulot puisque là je suis chez moi avec mon PC neurasthénique, alors que c'est pour un gigantesque boulot qui tourne 16 heures sur une red hat à 19 coeurs.
merci et à demain,
bonsoir et merci encore,
David

#2 Re : -1 »  segfault introuvable [RéSOLU] » Le 10/02/2015, à 07:28

dva2tlse
Réponses : 3

Bonjour claudius,
bon hébin bravo; je n'ai pas encore tout qui marche comme sur des roulettes, mais je sais ce qui patine; une initialisation de variable que je suspectais de temps à autres sans en avoir de preuve absolue, et maintenant je sais avec certitude que cette variable sert d'adresse et amenait une gamelle quand elle n'était pas encore définie.
Grand, grand, grand merci.
David

#3 -1 »  [RéSOLU] erreur simpliste lors de la lecture d'un entier sur un car. » Le 27/01/2015, à 11:19

dva2tlse
Réponses : 25

Bonjour le forum; j'ai déjà posé ici des questions relatives au développement que j'ai à faire. C'est un gros programme en fortran, enfin gros pour moi en tous cas, qui ne suis pas du tout développeur mais ingénieur mécanicien, et le problème qui se pose à moi est que lors de la lecture d'un des fichiers d'entrée, il se produit l'erreur suivante :

	At line 2189 of file /S/DATA/DVA/F90/BN/p2srfd.f
	Fortran runtime error: Bad value during integer read

C'est une banale lecture dans une variable indicée comme il y en a des dizaines d'autres :

	read(MDana(Tana), '(I1, I1)') Mana, Dana

    Pour ceux qui ne parlent pas le fortran, ça vaut dire qu'on lit dans la variable MDana(Tana); c'est une chaine de deux caractères, et chacun est interprété comme un entier, pour remplir les variables entières Mana et Dana.

En essayant avec un autre fichier d'entrée, qui est lu et dont les deux millions de lignes sont mis en mémoire dès le début du programme, il se produit la même erreur au même endroit et je ne la vois qu'en redirigeant la sortie vers un fichier temporaire que j'examine, sinon l'écran devient illisible, pire que les dernières lignes que j'ai sélectionnées ici, et je suis obligé de réinitialiser le  terminal pour pouvoir recommencer à travailler. Ceci me fait supposer qu'une espèce de caractère fantôme ne veut pas se laisser lire, et serait un séquence escape-bidule que je connais mal, ou l'envoie au terminal quand j'essaye de l'afficher pour voir ce qui se passe.
(il y a cinq fichiers d'entrée, un seul de sortie, et quelques autres temporaires ou d'entrées facultatives selon les options choisies)
   

      file1='PY/premier-526PYL-MR3.ana' -> Ok au début, puis...
fabmat:00 Les perturbations sont :  41 00 00 00 00, ltmp=     2202  22024100000000   0.00  0.00                                          
fabmat:00 Pert's :  41 00 00 00 00, ltmp=     2202  22024100000000   0.00  0.00, lana+imat= 1966 +    81 =  2047
fabmat:00 Les perturbations sont :  4
fabmat:00 Les perturbations sont :  4 ®
fabmat:00 Les perturbations sont :  4 ® $Î
fabmat:00 Les perturbations sont :  4 ® $Î «
fabmat:00 Les perturbations sont :  4 ® $Î « ?K
fabmat:00 Les perturbations sont :  4 ® $Î « ?K, ltmp=     2202  22024®$Ϋ?Kõ®ì\u0152?•0$=r¡¿ , lana+imat= 1966 +    82 =  2048
      file1='PY/deuxième-111PYLON-MR3.ana' -> Ok au début, puis...
fabmat:00 Pert's :  81 71 00 00 00, ltmp=     2202  22028171000000   0.00   0.00, lana+imat= 1867 +   180 =  2047
fabmat:00 Les perturbations sont :  8
fabmat:00 Les perturbations sont :  8 ®
fabmat:00 Les perturbations sont :  8 ® $Î
fabmat:00 Les perturbations sont :  8 ® $Î «
fabmat:00 Les perturbations sont :  8 ® $Î « ?K
fabmat:00 Les perturbations sont :  8 ® $Î « ?K, ltmp=     2202  22028®$Ϋ?Kõ®ì\u0152?•0$=r¡¿                                        
fabmat:00 Pert's :  8 ® $Î « ?K, ltmp=     2202  22028®$Ϋ?Kõ®ì\u0152?•0$=r¡¿, lana+imat= 1867 +   181 =  2048
      file1='PY/troisième-211PYL-MR2.ana' -> Ok au début, puis...	
fabmat:00 Pert's :  81 00 00 00 00, ltmp=     2307  23078100000000   0.00   0.00, lana+imat= 1684 +   363 =  2047
fabmat:00 Les perturbations sont :  8
fabmat:00 Les perturbations sont :  8 ®
fabmat:00 Les perturbations sont :  8 ® $Î
fabmat:00 Les perturbations sont :  8 ® $Î «
fabmat:00 Les perturbations sont :  8 ® $Î « ?K
fabmat:00 Les perturbations sont :  8 ® $Î « ?K, ltmp=     2307  23078®$Ϋ?Kõ®ì\u0152?•0$=r¡¿                                        
fabmat:00 Pert's :  8 ® $Î « ?K, ltmp=     2307  23078®$Ϋ?Kõ®ì\u0152?•0$=r¡¿, lana+imat= 1684 +   364 =  2048

On voit aussi, que bien que les fichiers soient structurés légèrement différemment, l'erreur se produit toujours au même moment qui est la 2048-ième lecture. (avant la position de lecture, 2047 qui marche, et 2048 qui plante, j'ai fait s'afficher la taille des blocs du fichier d'entrée qui ont été lus jusqu'à présent, et on voit [loin à droite] que la taille du premier bloc, qui lui à été lu complètement, diffère d'un fichier à l'autre)
Et ce nombre 2048 me fait tilt à l'instant en écrivant, serait ce une limitation informatique quelconque ou quelque chose que je n'aurai déclaré qu'à 2K ?

Est-ce que quelqu'un aurait une idée de vérification à faire ? Toutes les idées et questions sont bienvenues puisqu'elles pourraient m'amener à vérifier une chose à laquelle je n'aurais pas pensé et qui pourrait peut-être m'amener à comprendre le problème.
Merci,
David

#4 Re : -1 »  [RéSOLU] erreur simpliste lors de la lecture d'un entier sur un car. » Le 27/01/2015, à 12:20

dva2tlse
Réponses : 25

Bonjour claudius,
le fichier fait un peu plus de 50 gigas; je ne comprends pas ce que tu veux dire par "suivre"; mais il n'est pas impossible qu'en effet les lignes lues soient mises en mémoire de façon déjà impropre; je vais vérifier ça,
Merci,
David

#5 Re : -1 »  [RéSOLU] erreur simpliste lors de la lecture d'un entier sur un car. » Le 27/01/2015, à 12:45

dva2tlse
Réponses : 25

Merci credenhill,
ça va me donner du boulot pour six mois de tout vérifier octet par octet ;-), mais je ne connaissais pas la commande "od";
Je ne vois pas l'intérêt de "hd" puisque le man (sur une red-hat) me parle de disque.
en tout cas merci,
David

#6 Re : -1 »  [RéSOLU] erreur simpliste lors de la lecture d'un entier sur un car. » Le 27/01/2015, à 13:28

dva2tlse
Réponses : 25

Merci à tous, j'ai refait tourner mon programme avec de sorties de contrôle supplémentaires; en particulier la partie ltmp(i:i+9) qui est la sous-chaine extraite d'une ligne du fichier d'entrée; c'est cette sous-chaine qui devrait être lue en cinq groupes de deux entiers; et on voit bien dès la première ligne de chaque section, que la 2047 est "propre" alors que la 2048 contient quelques insanités.

fabmat:00 ltmp(i:i+9)= :8200000000:
fabmat:00 Les perturbations sont :  82
fabmat:00 Les perturbations sont :  82 00
fabmat:00 Les perturbations sont :  82 00 00
fabmat:00 Les perturbations sont :  82 00 00 00
fabmat:00 Les perturbations sont :  82 00 00 00 00
fabmat:00 Les perturbations sont :  82 00 00 00 00, ltmp=     2307  23078200000000   0.00   0.00
fabmat:00 Pert's :  82 00 00 00 00, ltmp=     2307  23078200000000   0.00   0.00 , lana+imat= 1689 +   358 =  2047

fabmat:00 ltmp(i:i+9)= :7®$Ϋ?K:
fabmat:00 Les perturbations sont :  7
fabmat:00 Les perturbations sont :  7 ®
fabmat:00 Les perturbations sont :  7 ® $Î
fabmat:00 Les perturbations sont :  7 ® $Î «
fabmat:00 Les perturbations sont :  7 ® $Î « ?K
fabmat:00 Les perturbations sont :  7 ® $Î « ?K, ltmp=     2307  23077®$Ϋ?Kõ®ì\u0152?·0$=r¡¿
fabmat:00 Pert's :  7 ® $Î « ?K, ltmp=     2307  23077®$Ϋ?Kõ®ì\u0152?·0$=r¡¿, lana+imat= 1689 +   359 =  2048

Donc je continue mon exploration pour trouver la cause intiale de tout ceci, parce que si je traite par petits bouts de 2000 lignes alors que j'en ai deux millions, ça va me faire mille fichiers temporaires, PAS GLOP.
Merci et à bientot, dés que j'ai avancé,
David

#7 Re : -1 »  [RéSOLU] erreur simpliste lors de la lecture d'un entier sur un car. » Le 27/01/2015, à 14:50

dva2tlse
Réponses : 25

Après avoir un peu avancé :
Quand j'édite "à la main" le fichier d'entrée dont l'image en mémoire déconne et que je me place sur la bonne ligne, elle est parfaitement "propre"; donc ce doit être la "bufferisation" qui patine, et comme j'ai besoin que ces informations soient en mémoire, je cherche encore.

#8 Re : -1 »  [RéSOLU] erreur simpliste lors de la lecture d'un entier sur un car. » Le 28/01/2015, à 12:43

dva2tlse
Réponses : 25

En f77 l'indexation commence à 1, mais en gfortran que j'utilise on peut commencer à 0 à condition de le déclarer, ce que je fais parfois, mais dans aucun des tableaux qui entrent en jeu ici.

Et j'ai encore un peu avancé; j'ai vérifié que le sous programme lecana, qui lit le fichier d'entrée gigantesque que j'appelle le ".ana" fonctionnait bien, et qu'il me remplissait correctement la table de deux millions de chaines de quarante caractères, représentant chacune une ligne du ".ana";
par contre, un autre sous-programme lit un autre fichier, le ".pch", en six boucles. Et ça change l'image en mémoire du grand tableau quelque part entre le milieu de la troisième boucle et celui de la quatrième.

Pourtant ce sous-programme n'agit pas du tout sur le grand tableau de lignes, puisque j'ai même dû le rajouter en argument d'entrée quand j'ai vu qu'il devenait corrompu pendant le déroulement de ce sous-programme lecpch.
Hédonc je m'apreçois que la 2048-ième ligne du tableau change pendant le déroulement de ce sous programme lecpch alors que rien ne semble le provoquer.

Si vous avez des idées, merci de me les donner pour avancer encore un peu.
David

#9 Re : -1 »  [RéSOLU] erreur simpliste lors de la lecture d'un entier sur un car. » Le 28/01/2015, à 13:59

dva2tlse
Réponses : 25

Oui en effet, ça ressemble, mais je n'ai ni EQUIVALENCE ni COMMON dans ce programme, et une version précédente a déjà marché avec le grand tableau de deux millions de lignes;  mais c'était avant que je ne crée le sous-programme lecpch, pendant le déroulement duquel le grand tableau change. (alors que ce sous-programme n'y touche pas).
GRRR.

#10 Re : -1 »  [RéSOLU] erreur simpliste lors de la lecture d'un entier sur un car. » Le 28/01/2015, à 14:13

dva2tlse
Réponses : 25

Le sous-programme lecpch lit des données (de contraintes) dans le ".pch", dans l'ordre où arrivent les éléments (finis), d'abord des QUAD's, puis des ROD's, puis des TRIA's (qui sont traités par la même portion de programme que les QUAD's).
Et ce sont les premiers QUAD's de la boucle 4 qui font changer le tableau.

#11 Re : -1 »  [RéSOLU] erreur simpliste lors de la lecture d'un entier sur un car. » Le 28/01/2015, à 14:23

dva2tlse
Réponses : 25

Et ce sont les premiers QUAD's de la boucle 4 qui font changer le tableau. Et même LE premier; après le dernier TRIA (donc le dernier élémént) de la boucle 3, le grand tableau est Ok. Mais après le premier QUAD de la boucle 4, qui est aussi le premier élément, le tableau devient pourri.

#12 Re : -1 »  [RéSOLU] erreur simpliste lors de la lecture d'un entier sur un car. » Le 28/01/2015, à 14:36

dva2tlse
Réponses : 25

Oui merci de me suggérer ça, parce que j'en connaissais l'existence sans l'avoir jamais utilisé ni vraiment savoir en détail à quoi ça servait; donc je vais regarder la doc' et peut être me lancer.

#13 Re : -1 »  [RéSOLU] erreur simpliste lors de la lecture d'un entier sur un car. » Le 28/01/2015, à 14:47

dva2tlse
Réponses : 25

Mais par contre il faudrait que j'envoie tout chez moi pour bosser "chez ma maison" pour pouvoir l'installer direct avec les liens apt, alors qu'ici au boulot, les machines sont des red hat, dont je ne sais même pas si c'est du debian, et si les admiin's peuvent installer des choses facilement. Enfin je SAIS que NON parce qu'ils ont du boulot par dessus la tête, m'enfin je vais demander en passant par un chef qu'il va falloir convaincre.

  [.../...]

Et ce que j'ai vu en commençant à potasser un peu de doc' me refroidit encore; ça parle de C/C++ et non de fortran. Donc je vais plutôt continuer d'instrumenter mon programme comme je l'ai fait jusqu'à maintenant.

#14 Re : -1 »  [RéSOLU] erreur simpliste lors de la lecture d'un entier sur un car. » Le 29/01/2015, à 08:41

dva2tlse
Réponses : 25

Ok pour valgrind avec le fortran; maintenant il faut que je convainque mon chef pour le faire installer, puisque chez moi je n'ai qu'un petit PC ordinaire, alors qu'ici, je peux utiliser 19 coeurs de la RED HAT.

#15 Re : -1 »  [RéSOLU] erreur simpliste lors de la lecture d'un entier sur un car. » Le 29/01/2015, à 13:31

dva2tlse
Réponses : 25

Là n'est pas le problème, pour l'instant je ne tourne que sur un seul proc'; les 19 c'est pour les runs de production qui tournent une nuit ou 20 heures avec 11000 éléments; là je n'en traite que 3, en 90s, et donc sur un seul proc'.

Et j'ai fini par localiser que ça chiait à l'élément 123 de la quatrième boucle mais je n'ai pas encore scruté le fichier d'entrée à cet endroit.

#16 Re : -1 »  [RéSOLU] erreur simpliste lors de la lecture d'un entier sur un car. » Le 29/01/2015, à 15:15

dva2tlse
Réponses : 25

Heu... En fait il n'y a pas d'emplacement précis du fichier d'entrée avec ce que je croyais être un "caractère fantôme" puisque à chaque fois que je change le code, pour affiner ce que je supposais être une localisation dangereuse, la ligne à partir de laquelle le programme affiche des insanités change; ce qui doit bien vouloir signifier que ça dépend du remplissage de la mémoire.
Alors peut-être que Valgrind m'aiderait... ?

#17 Re : -1 »  [RéSOLU] erreur simpliste lors de la lecture d'un entier sur un car. » Le 30/01/2015, à 09:27

dva2tlse
Réponses : 25

cette option -fsanitize=bounds n'existe pas en gfortran, mais il y en a une autre qui ressemble : -fbounds-check, et ça m'indique des tas de dépassements par le haut ou par le bas (l'indice 0) que je n'imaginais même pas, et ça finit par marcher. (enfin ça plante mais pour une autre raison, que je sais pouvoir trouver, mais le tableau des lignes du fichier d'entrée est nickel)
Merci à tous,
David

#18 -1 »  Connection en python correcte, mais navigation dans le site impossible » Le 04/01/2015, à 16:59

dva2tlse
Réponses : 12

Bonjour, j'ai un code en python qui me permet de me logger à un site web de façon convenable, sur MON compte, mais la page d'accueil n'est pas complète, ni aucune autre.
Je sais que c'est mon propre compte puisque la partie de page qui s'affiche me montre un certain nombre de points, ou crédits, que je sais être les miens.
Par contre je ne peux pas demander d'autre page du site, puisque je n'ai que cette partie là qui vient.
Merci d'essayer de me donner des pistes pour m'en sortir,
David

Voici le code:
Il y a une page dans le vide, pour attrapper des éventuelles cookies importantes, puis une page de connexion qui marche bien, puis une lecture de page interne au site qui ne marche pas bien que je sois correctement identifié.

#!/usr/bin/python
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
import requests, sys, urllib
#---------------- Ok pour du mauvais code html; pas propre, quoi :
from bs4 import BeautifulSoup
#

url0="http://www.toto.com"
url1="http://www.toto.com/login/loginSubmit"
url2="http://www.toto.com/panelboard"
user_agent={'User-agent': 'Mozilla/5.0'}
resp0=requests.get(url0)
sess0=requests.Session()
print '\n---------------- Écriture du fichier ./resp0.html...'.encode('utf8')
Fichier=open('resp0.html', 'w')
Fichier.write(resp0.content) # text.encode('utf8'))
Fichier.close()
print ('\n\tfirefox -P def2 -no-remote resp0.html &\n')
# print resp0.headers['content-type']
#
#---------------- Ok début page 0 -------------------
#
password='VeryStrong'
pars0={ 'login': 'dva2tlse', 'pass': password }
resp1=sess0.post(url1, data=pars0)
cook1=resp1.cookies
if(resp1.status_code != 200) :
    print '\n---------------- Boum, resp1.status_code='+resp1.status_code+'\n'
    sys.exit(1)
print '\n---------------- Ok, resp1.url='+resp1.url+', resp1.status_code=%i\n' % (resp1.status_code)
# 
print '\n---------------- Écriture du fichier ./resp1.html...'.encode('utf8')
Fichier=open('resp1.html', 'w')
Fichier.write(resp1.content) # text.encode('utf8'))
Fichier.close()
print ('\n\tfirefox -P def2 -no-remote resp1.html &\n')
# print resp1.headers['content-type']
#
#---------------- page 2 : ------------------
#
resp2=sess0.get(url2, cookies=cook1)
if(resp2.status_code != 200) :
    print '\n---------------- Boum, resp2.status_code='+resp2.status_code+'\n'
    sys.exit(1)
print '\n---------------- Ok, resp2.url='+resp2.url+', resp2.status_code=%i\n' % (resp2.status_code)
# 
print '\n---------------- Écriture du fichier ./resp2.html...'.encode('utf8')
Fichier=open('resp2.html', 'w')
Fichier.write(resp2.content) # text.encode('utf8'))
Fichier.close()
print ('\n\tfirefox -P def2 -no-remote resp2.html &\n')
# print resp2.headers['content-type']
#
# python ./S.py

Merci d'essayer de m'aider,
David

#19 Re : -1 »  Connection en python correcte, mais navigation dans le site impossible » Le 04/01/2015, à 19:07

dva2tlse
Réponses : 12

Salut grim7reaper,
en effet, j'avais posté un code où cook1 était monentanément enlevé, parce qu'il est dit dans la doc que si on utilise

sess=requests.Session()

alors il devient inutile de stocker les cookies; c'est ce que j'ai vérifié moi même.
J'ai remis dans le code la définition de cook1 après la toute première connexion au site, mais on peut très bien enlever cette définition et enlever l'appel aux cookies dans le dernier 'GET'.
Ce dernier 'GET' est quand même effectué avec mon identification; je peux le vérifier avec la première partie de la page qui s'affiche et où je vois bien que les "crédits" affichés sont les miens.
Sinon en effet, ça fait trois fois la même chose, mais je ne sais même pas comment coder une fonction en python. (je bosse en fortran et j'ai même eu des réponses à des questions à ce sujet ici sur ce forum)(ou sur devellopez.com, chaipu)
À+,
David

#20 Re : -1 »  Connection en python correcte, mais navigation dans le site impossible » Le 05/01/2015, à 13:31

dva2tlse
Réponses : 12

Bonjour Grim7reaper,

"la page est incomplète"

ça veut dire en effet qu'il manque les liens, et même tout le corps de la page je crois.
C'est comme si je n'avais que le header qui s'enregistrait; pourtant j'ai regardé le code HTML qui est enregistré, et il se temine bien par <\body> puis <\html>.

Maintenant en effet les liens ne sont pas tout à fait corrects. Il y a bien une sifférence de "#" entre mon navigateur et ce qui est enregistré, du genre de "http://www.toto.com/home#/panelboard/" enregistré au lieu de "http://www.toto.com/panelboard" dans le navigateur. (Je ne suis pas parfaitement sûr parce que je réponds de mon boulot, "en aveugle", mais il y a une différence de "#"; qu'est-ce que ça veut dire ?)

Ce panelboard est juste une étape, puisqu'il contient des liens pour atteindre les pages que je souhaite; donc j'aurai une boucle sur les liens qu'extraiera un truc comme Beautiful Soup ou mechanize.

L'anglais, j'en bouffe une bonne partie de la journée au boulot; je manque juste quelques nuances du fait que ce n'est par ma langue maternelle, mais c'est plus fatigant, donc je trouverai des tutos confortablement écrits en français.

sur des questions Fortran

  je me souvenais de ton pseudo à propos de questions assez intéressantes, comme par exemple du fortran qui contribue à me remplir mon assiette, mais d'autres aussi, je ne suis pas seulement vénal.
À+,
David

#21 Re : -1 »  Connection en python correcte, mais navigation dans le site impossible » Le 07/01/2015, à 17:24

dva2tlse
Réponses : 12

Bonjour Grim7reaper,
les codes HTML que j'obtiens par mon script python et le code que mon navigateur affiche sont forcément exactement les mêmes, puisque je ne fais qu'afficher avec mon navigateur ce que j'ai reçu par le code python, et enregistré dans un fichier resp1.html, puis resp2 et resp3; je ne sais pas faire autrement que passer par l'intermédiaire d'un fichier enregisté. Comment est-ce qu'il faut faire ? Peut-être qu'alors j'aurai tout ce que je veux.
Par ailleurs, le Javascript, il y en a effectivement pas mal dans le fichier que j'enregistre et dont je ne visualise que le début, ou qu'une partie; est-ce que ça pourrait être lui qui empêche l'affichage de la fin des pages, ou du reste ?
À+,
David

#22 Re : -1 »  Connection en python correcte, mais navigation dans le site impossible » Le 09/01/2015, à 14:08

dva2tlse
Réponses : 12

Bonjour grim7reaper,
je crois avoir déjà répondu hier mais ça n'est pas passé; m'enfin peu importe, sauf que ce que tu écris me fait penser à un truc : je vais ouvrir mon site directement dans mon firefox pour en voir le contenu de la page avec un CTRL+U, et l'enregistrer quelquepart.
Hédonc je pourrai essayer de comparer avec celle que reçoit et enregistre le python.
Mais il se trouve par ailleurs, que quand j'ai le début de la homepage du site, après que le python m'y ait connecté, je peux prendre la main à ce moment-là; et c'est peut-être là que s'exécute le javascript qui affiche la fin de la page, d'où la différence entre l'accès "à la main" et l'accès par python.
Est-ce que ce que je dis est cohérent, ou est-ce que c'est du n'importe nawak ?
David
PS: je n'ai peut-être pas tout compris comment marchait le javascript, d'où l'imprécision de ma question, mais peut-être qu'il faut travailler en interactif pour que le javascript tourne, et est-ce qu'il n'y aurait pas moyen que ça tourne "depuis" un script quand même ? à+, David

#23 Re : -1 »  Connection en python correcte, mais navigation dans le site impossible » Le 12/01/2015, à 12:36

dva2tlse
Réponses : 12

Bonjour grim7reaper,
j'ai un peu laissé tomber l'affaire, enfin, un petit peu seulement; disons que je cherche tojours à visiter des sites après identification, mais en utilisant scrapy; c'est du python aussi comme tu le sais probablement, et dès que j'aurais un peu de temps, j'ouvrirai une nouvelle question sur ce que je n'arrive pas à faire. (pourtant, tout semble prévu, mais je ne maitrise pas encore tout)
à+,
David
PS: juste avant de poster, je revois tes deux questions précédentes, et d'après ce que j'avais posé comme nouvelles questions, je crois me souvenir que ce sont "à peu près" les mêmes pages, (même contenu à l'oeil vite fait, avec du javascript les deux fois, mais je ne sais pas le lire) donc c'est pour ça que je demandais si le javascript ne s'exécuterait pas QUE en interactif, ce qui expliquerait que la page pourtant à peu près similaire enregistrée par le python ne déroulerait pas jusqu'au bout.

#24 Re : -1 »  Connection en python correcte, mais navigation dans le site impossible » Le 13/01/2015, à 12:57

dva2tlse
Réponses : 12

Salut grim7reaper,
en effet, le javascript ne tourne pas dans scrapy, mais j'ai vu sur StackOverflow qu'il y a des tas d'exemples avec selenium, et des problèmes souvent résolus ce qui aide à comprendre. (tout comme avec scrapy d'ailleurs, donc je vais "pomper" un max de choses parce que je ne me débrouille pas encore assez)
À+,
David