Bonjour
Voila je me lance enfin dans le bain pour mon premier script python... et il est indispensable pour mon taf sii je veux esperer gagner mes sous...

Voila je dois effectuer une reservation sur un site https necessitant loggin et password a une heure fixe toute les semaine...
J arrive a obtenir le code html ... dans cette page je dois cliquer sur un lien qui ouvre une fenetre de confirmation...
Sur la page il y a une liste de lieux ... (ex arrondissement) et pour chaque lieu est affiche une liste de crenaux horraire (materialise par un cadre ou l on peu cliquer dessus)
Voila comment je procede... si la logique n est pas bonne n hesitez pas.. .

avec les outils firefox developpeur.. .je repere le code html de l objet sur lequel je dois cliquer. (08:00 14:00) il y a 2 "branches"
1°) <div data-category-id="80392" class="col-sm-12 category-name category-name-id" style="border-bottom: 1px solid #749ec1"> <span class="ccc-category-color" style="background-color:#749ec1;">&nbsp;</span> <span>12ème arrondissement</span> </div>

je voie le 12eme arondissement dans le tag <span> ( le data-category-id doit etre surement important et utile pour la suite)

2°) <div style="width:14.285714285714286%;" data-category-id="80392" data-date="2016-11-14" class="text-center ccc-events-date-wrapper col-sm-day"> </div><div style="width:14.285714285714286%;" data-category-id="80392" data-date="2016-11-15" class="text-center ccc-events-date-wrapper col-sm-day"> </div><div style="width:14.285714285714286%;" data-category-id="80392" data-date="2016-11-16" class="text-center ccc-events-date-wrapper col-sm-day"> <a aria-disabled="false" href="javascript:void(0);" class="ccc-event shift shift-id-11238824 shorthanded shift-past droppable-target event-id-11238824 ui-droppable" style="background-color:;border-color:;" data-event-id="11238824"> <span style="color:;background-color:;" class="ccc-event-header"><i class="fa fa-user"></i><i class="fa fa-question-circle"></i><i class="fa fa-check-circle-o"></i><i class="canceld-icon fa fa-retweet"></i><span data-event-parent-type="Shift" data-event-parent-id="11238824" data-event-ids="" class=" events-container event-parent-id-11238824 event-parent-type-Shift label label-danger hidden"></span>08:00 - 14:00</span> <span style="color:;" class="ccc-event-body"></span> </a><a aria-disabled="false" href="javascript:void(0);" class="ccc-event shift shift-id-11239293 shorthanded shift-past droppable-target event-id-11239293 ui-droppable" style="background-color:;border-color:;" data-event-id="11239293"> <span style="color:;background-color:;" class="ccc-event-header"><i class="fa fa-user"></i><i class="fa fa-question-circle"></i><i class="fa fa-check-circle-o"></i><i class="canceld-icon fa fa-retweet"></i><span data-event-parent-type="Shift" data-event-parent-id="11239293" data-event-ids="" class=" events-container event-parent-id-11239293 event-parent-type-Shift label label-danger hidden"></span>11:15 - 14:00</span> <span style="color:;" class="ccc-event-body"></span> </a></div><div style="width:14.285714285714286%;" data-category-id="80392" data-date="2016-11-17" class="text-center ccc-events-date-wrapper col-sm-day"> </div><div style="width:14.285714285714286%;" data-category-id="80392" data-date="2016-11-18" class="text-center ccc-events-date-wrapper col-sm-day"> <a aria-disabled="false" href="javascript:void(0);" class="ccc-event shift shift-id-11239295 shorthanded droppable-target event-id-11239295 ui-droppable" style="background-color:;border-color:;" data-event-id="11239295"> <span style="color:;background-color:;" class="ccc-event-header"><i class="fa fa-user"></i><i class="fa fa-question-circle"></i><i class="fa fa-check-circle-o"></i><i class="canceld-icon fa fa-retweet"></i><span data-event-parent-type="Shift" data-event-parent-id="11239295" data-event-ids="" class=" events-container event-parent-id-11239295 event-parent-type-Shift label label-danger hidden"></span>11:15 - 14:00</span> <span style="color:;" class="ccc-event-body"></span> </a><a aria-disabled="false" href="javascript:void(0);" class="ccc-event shift shift-id-11239593 shorthanded droppable-target event-id-11239593 ui-droppable" style="background-color:;border-color:;" data-event-id="11239593"> <span style="color:;background-color:;" class="ccc-event-header"><i class="fa fa-user"></i><i class="fa fa-question-circle"></i><i class="fa fa-check-circle-o"></i><i class="canceld-icon fa fa-retweet"></i><span data-event-parent-type="Shift" data-event-parent-id="11239593" data-event-ids="" class=" events-container event-parent-id-11239593 event-parent-type-Shift label label-danger hidden"></span>18:45 - 21:45</span> <span style="color:;" class="ccc-event-body"></span> </a></div><div style="width:14.285714285714286%;" data-category-id="80392" data-date="2016-11-19" class="text-center ccc-events-date-wrapper col-sm-day"> </div><div style="width:14.285714285714286%;" data-category-id="80392" data-date="2016-11-20" class="text-center ccc-events-date-wrapper col-sm-day"> </div>

dans tout ce foutoir .. je repere celui qui m interesse
<i class="fa fa-user"></i><i class="fa fa-question-circle"></i><i class="fa fa-check-circle-o"></i><i class="canceld-icon fa fa-retweet"></i><span data-event-parent-type="Shift" data-event-parent-id="11238824" data-event-ids="" class=" events-container event-parent-id-11238824 event-parent-type-Shift label label-danger hidden"></span>08:00 - 14:00

c est le 8h 14h qui m interesse... data-event-parent-type="Shift" data-event-parent-id="11238824"

et la fenetre de confirmation ressemble a ca
<button data-action="assign" class="btn btn-default action-assign">Register bindingly </button>

sans vouloir me faire macher le travail.. .quelle logique adopte?.. .c est mon premier script, apres les alias du .bashrc ... j aimerai un peu d aide ...voir des liens en francais sur l utilisation de python pour jouer avec les pages web...
j ai lu sur urllib et beautifulsoup... mais je c pas par ou commencer.

voila ce que j ai fais c pas grand chose ... mais ca me connecte au site et retourne le code html c pas mal

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#!/usr/bin/env python
 
import BeautifulSoup
from requests import session
from urllib2 import Request, urlopen
import time
 
url = ('https://XXXXXXXX/login')
req = Request(url)
try:
    handle = urlopen(req)
except IOError, e:
    if hasattr(e, 'reason'):
        print 'Nous avons echoue a joindre le serveur'
        print 'Raison: ', e.reason
    elif hasattr(e, 'code'):
        print 'Le serveur n a pu satisfaire la demande.'
        print 'Code d erreur : ', e.code
else:
	payload = {
		'action': 'login',
		'username': 'XXXXXXXXXXXX',
		'password': 'XXXXXXXXXXXX'
	}
 
	with session() as c:
		c.post('https://XXXXXXXXXXX?view=list&scale=week&filter=shorthanded&date=2016-11-14', data=payload)
		response = c.get(<a href="https://&#39;XXXXXXXXXXX?view=list&scale=week&filter=shorthanded&date=2016-11-14" target="_blank">https://'XXXXXXXXXXX?view=list&scale...ate=2016-11-14</a>')
		print(response.headers)
		time.sleep(5)
		print(response.text)
voila ca fait pas grand chose pour l instant... j editerai ce message au fur et a mesur de mon avancement...
A+

edit: je trouve pas de balises pour formater le code dans le message