bonjour
je souhaite récupérer le contenue d'une url
le problème est que je suis rediriger vers une autre url qui me demande mon username mon password et je doit après cliquer sur se connecter
de la j'arrive sur une page qui n'est pas celle que je veux
je suis obliger de retaper la première url que je voulais
j'ai essayer plus script en python que j'ai trouver sur le net
ma version de python est une 2.7
avec ce code
Voici le résultat
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 import urllib htmltext = urllib.urlopen("http://myfrtv.com/channels/new-file/").read() print (htmltext)
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74 >>> ================================ RESTART ================================ >>> <!DOCTYPE html> <!--[if lt IE 7]> <html class="no-js ie6 oldie" lang="en-US"> <![endif]--> <!--[if IE 7]> <html class="no-js ie7 oldie" lang="en-US"> <![endif]--> <!--[if IE 8]> <html class="no-js ie8 oldie" lang="en-US"> <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en-US"> <!--<![endif]--> <head> <title>Access denied | myfrtv.com used CloudFlare to restrict access</title> <meta charset="UTF-8" /> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1" /> <meta name="robots" content="noindex, nofollow" /> <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1" /> <link rel="stylesheet" id="cf_styles-css" href="/cdn-cgi/styles/cf.errors.css" type="text/css" media="screen,projection" /> <!--[if lt IE 9]><link rel="stylesheet" id='cf_styles-ie-css' href="/cdn-cgi/styles/cf.errors.ie.css" type="text/css" media="screen,projection" /><![endif]--> <style type="text/css">body{margin:0;padding:0}</style> <!--[if lte IE 9]><script type="text/javascript" src="/cdn-cgi/scripts/jquery.min.js"></script><![endif]--> <!--[if gte IE 10]><!--><script type="text/javascript" src="/cdn-cgi/scripts/zepto.min.js"></script><!--<![endif]--> <script type="text/javascript" src="/cdn-cgi/scripts/cf.common.js"></script> </head> <body> <div id="cf-wrapper"> <div class="cf-alert cf-alert-error cf-cookie-error" id="cookie-alert" data-translate="enable_cookies">Please enable cookies.</div> <div id="cf-error-details" class="cf-error-details-wrapper"> <div class="cf-wrapper cf-header cf-error-overview"> <h1> <span class="cf-error-type" data-translate="error">Error</span> <span class="cf-error-code">1010</span> <small class="heading-ray-id">Ray ID: 18b6e163f1690418</small> </h1> <h2 class="cf-subheadline" data-translate="error_desc">Access denied</h2> </div><!-- /.header --> <section></section><!-- spacer --> <div class="cf-section cf-wrapper"> <div class="cf-columns two"> <div class="cf-column"> <h2 data-translate="what_happened">What happened?</h2> <p>The owner of this website (myfrtv.com) has banned your access based on your browser's signature (18b6e163f1690418-ua48).</p> </div> </div> </div><!-- /.section --> <div class="cf-error-footer cf-wrapper"> <p> <span class="cf-footer-item">CloudFlare Ray ID: <strong>18b6e163f1690418</strong></span> <span class="cf-footer-separator">•</span> <span class="cf-footer-item"><span data-translate="your_ip">Your IP</span>: 192.99.153.223</span> <span class="cf-footer-separator">•</span> <span class="cf-footer-item"><span data-translate="performance_security_by">Performance & security by</span> <a data-orig-proto="https" data-orig-ref="www.cloudflare.com/5xx-error-landing" id="brand_link" target="_blank">CloudFlare</a></span> </p> </div><!-- /.error-footer --> </div><!-- /#cf-error-details --> </div><!-- /#cf-wrapper --> <script type="text/javascript"> window._cf_translation = {}; </script> </body> </html> >>>
Avec un autre code
Voici le résultat que j'ai
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 import cookielib import urllib import urllib2 url = 'http://myfrtv.com/channels/new-file/' values = {'username' : 'xxxxx.xxxxxx@xxxxx.fr', 'password' : 'xxxxxxxxxxx'} data = urllib.urlencode(values) cookies = cookielib.CookieJar() opener = urllib2.build_opener( urllib2.HTTPRedirectHandler(), urllib2.HTTPHandler(debuglevel=0), urllib2.HTTPSHandler(debuglevel=0), urllib2.HTTPCookieProcessor(cookies)) response = opener.open(url, data) the_page = response.read() http_headers = response.info() print (http_headers)
pour information le site n'est pas accessible depuis l’Europe mais j'ai un serveur sous Windows qui lui peut y accéder
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 >>> ================================ RESTART ================================ >>> Traceback (most recent call last): File "C:\test\steph2.py", line 18, in <module> response = opener.open(url, data) File "C:\Python27\lib\urllib2.py", line 410, in open response = meth(req, response) File "C:\Python27\lib\urllib2.py", line 523, in http_response 'http', request, response, code, msg, hdrs) File "C:\Python27\lib\urllib2.py", line 448, in error return self._call_chain(*args) File "C:\Python27\lib\urllib2.py", line 382, in _call_chain result = func(*args) File "C:\Python27\lib\urllib2.py", line 531, in http_error_default raise HTTPError(req.get_full_url(), code, msg, hdrs, fp) HTTPError: HTTP Error 403: Forbidden >>>
et tout les test que je fais je les dessus
j'aimerais avoir des conseils éventuellement un peut d'aide car je débute dans python
merci d'avance pour vos réponse
Cordialement
Stephane
Partager