2

このようなページをスクレイピングする方法: https://www.procom.ca/JobList.aspx?keywords=&Cities=&reference=&JobType=0

安全で、リファラーが必要なようです。wget または httplib2 を使用して何も取得できません。

このページを進むと一覧が表示され、ブラウザでは機能しますが、コマンド ラインでは機能しません。 https://www.procom.ca/jobsearch.aspx

コマンドラインフェッチに興味があります。

4

2 に答える 2

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()
于 2010-04-09T07:26:41.097 に答える
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..." />
于 2010-04-09T04:21:05.820 に答える