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.

Foi útil?

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..." />
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top