从可能使用会话ID的安全URL刮取页面

时间:2010-04-09 03:17:23

标签: python screen-scraping mechanize referrer scrapy

如何抓取这样的页面:https://www.procom.ca/JobList.aspx?keywords=&Cities=&reference=&JobType=0

它很安全,看起来需要推荐人。我无法使用wget或httplib2获取任何内容。

如果您浏览此页面,则会获得一个列表,它可以在浏览器上运行,但不能在命令行上运行。 https://www.procom.ca/jobsearch.aspx

我对命令行提取感兴趣。

2 个答案:

答案 0 :(得分:3)

正如您所怀疑的,它需要一个引用者。这有效:

   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()

答案 1 :(得分:0)

您在POST或Get中发送了哪些数据,我建议通过Firebug Net Panel中的POST / GET消息进行查看,在该页面中有许多隐藏值,我认为这些值与时间有关,并且每次页面加载都会发生变化一旦加载页面有效,获取这些值并使用POST消息发送它们,例如看到这些

<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..." />