Raspando uma página de um URL seguro que está possivelmente usando um ID da sessão
-
25-09-2019 - |
Pergunta
Como raspar uma página como esta: https://www.procom.ca/joblist.aspx?keywords=&cities=&reference=&jobtype=0
É seguro e parece que requer um referenciador. Não consigo obter nada usando wget ou httplib2.
Se você passar por esta página, obterá uma lista e ela funciona em um navegador, mas não na linha de comando.https://www.procom.ca/jobsearch.aspx
Estou interessado na busca da linha de comando.
Solução
Como você suspeita, requer um referente. Isso funciona:
import urllib2
urlopen = urllib2.urlopen
Request = urllib2.Request
url = 'https://www.procom.ca/JobList.aspx?keywords=&Cities=&reference=&JobType=0'
headers = {'Referer' : 'http://www.stackoverflow.com'}
req = Request(url, None, headers)
handle = urlopen(req)
print handle.read()
Outras dicas
Quais dados você está enviando na postagem ou obtenha, eu recomendaria olhar através da postagem/obter mensagens no painel Net Firebug; nessa página, existem muitos valores ocultos que eu acho dependentes do tempo e alterações em cada página e podem ser válidos uma vez Então carregue a página, obtenha esses valores e envie -os com mensagens postais, por exemplo
<input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" />
<input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="" />
<input type="hidden" name="__LASTFOCUS" id="__LASTFOCUS" value="" />
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwULLTEwODIzNjMxMzEPFgIeEUdyaWRTb3J0RGlyZWN0aW9uCyo..." />