Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #57 da revista programar. Faz já o download aqui!

nunos

Como abrir um link atraves de código

Mensagens Recomendadas

nunos    0
nunos

Olá.

O que eu gostava de conseguir fazer era simular um clique de rato numa hiperligacao através de código python.

a hiperligacao é deste tipo:

"<a class='addToPgs repkey_y:PT_2462058_2__1' id='add_y:PT_2462058_2__1'  href='#' rel='addToMyPlaces nofollow' title='Guardar contacto em My PAi'>Guardar</a>"

Como dá para ver o parametro href = "#" ou seja não há propriamente um endereço de destino deste link. Alias quando se carrega no link, continua-se na mesma página.

O código que tenho para "abrir" a pagina é este.

import urllib2
url = "http://www.pai.pt/search/pensoes.html"
fo = urllib2.urlopen(url)
page = fo.read()

Será que alguem me consegue dar uma ajuda aqui sff? Thanks.

Cumps  :confused:

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
JoaoRodrigues    0
JoaoRodrigues

Quando usares a tag [ code ] usa também a linguagem: [ code = python ] :confused:

Quanto ao teu problema, estive a dar uma vista de olhos mas não te consigo ajudar. A ideia com que fiquei foi que tu tens uma sessão automaticamente quando entras na página. Isso como não tem propriamente um link deve chamar um dos scripts que estão no fundo da página (vê o HTML).

Procura por lá... :x

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Tharis    3
Tharis

Ou então tenta ver se a bilblioteca mechanize (não é default do python) tem alguma coisa que te possa ajudar (btw, a documentação é uma caca, por isso, se não o tentares, entende-se perfeitamente. :confused:

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
nunos    0
nunos

Obrigado pelas sugestões.

Entretanto arranjei outra maneira de contornar isto.

Outro coisa que talvez me saibam responder é porque é que quando eu faço, por exemplo

isto:

import urllib2
url = "http://www.pai.pt/search/pensoes.html"
fo = urllib2.urlopen(url)
page = fo.read()
print page

Aquilo que é impresso não exactamente igual ao source code, aparecem alguns caracteres esquesitos, tipo quadrados e assim. Deve estar relacionado com o "enconding" digo eu na minha ignorância. Como é que posso por isto bem?

Cumps  :confused:

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Tharis    3
Tharis

Exacto, está relacionado como encoding.

Tenta correr assim:

# -*- coding: utf-8 -*-

import urllib2
url = "http://www.pai.pt/search/pensoes.html"
fo = urllib2.urlopen(url)
page = fo.read()
print page

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
nunos    0
nunos

Usei este código

# -*- coding: utf-8 -*-

import urllib2
url = "localhost/exp/"
fo = urllib2.urlopen(url)
page = fo.read()
print page

para ler esta página

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Título</title>
</head>
<body>
Hello World!
</body>
</html>

e continuo a obter os ditos quadrados.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
fnds    2
fnds

Usei este código

# -*- coding: utf-8 -*-

import urllib2
url = "localhost/exp/"
fo = urllib2.urlopen(url)
page = fo.read()
print page

para ler esta página

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Título</title>
</head>
<body>
Hello World!
</body>
</html>

e continuo a obter os ditos quadrados.

Os quadrados aparecem onde (consola, idle, browser)?

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora


×

Aviso Sobre Cookies

Ao usar este site você aceita a nossa Política de Privacidade