2010-11-16 5 views
0

J'essaie d'accéder à une page web en utilisant urllib2 et la redirection automatique dans urllib2 ne semble pas récupérer la page entière. Voici mon code:urllib2 rediriger la page vide (bien que le code soit 200 et geturl() pointe vers la nouvelle page)

request = urllib2.Request(link) 
request.add_header('User-Agent','...') 
opener = urllib2.build_opener() 

page = opener.open(request) 
print(page.code) 
print(page.geturl()) 
print(page.read()) 

a) Lorsque link = 'https://www.google.com'. Il imprime

200 
https://www.google.com 
<!doctype...> Etc. Etc. </script> 

b) Lorsque link = 'https://www.xyz.com/a_link_which_is_redirected.html'. Il imprime

200 
https://the_new_link 
<blank> 

Toutefois, si j'accéder au « lien » en b) par l'intermédiaire d'un navigateur Internet, il affiche correctement une page avec un formulaire.

Répondre

0

Afficher la source de la page Google - elle se termine réellement par une balise de script. Ils laissent certaines étiquettes de fermeture parce que les navigateurs peuvent toujours l'interpréter correctement et cela économise de la bande passante.

Here are some test redirect pages. Lequel ne fonctionne pas pour vous?

Questions connexes