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

发布于 2024-08-28 05:01:07 字数 468 浏览 13 评论 0原文

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

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

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

我对命令行获取感兴趣。

How to scrape a page like this: https://www.procom.ca/JobList.aspx?keywords=&Cities=&reference=&JobType=0

It is secure, and looks like it requires a referrer. I can't get anything using wget or httplib2.

If you go through this page, you get a list and it works on a browser but not the command line.
https://www.procom.ca/jobsearch.aspx

I am interested in command line fetching.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

还如梦归 2024-09-04 05:01:07

正如您所怀疑的,它需要一个推荐人。这有效:

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

As you suspect, it requires a referer. This works:

   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()
愛上了 2024-09-04 05:01:07

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

What data are you sending in POST or Get, I would recommend look thru the POST/GET messages in Firebug Net Panel, in that page there are many hidden values which I think are time dependent and changes on each page load and may be valid once so load page , get those values and send them with POST messages e.g. see these

<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..." />
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文