あるサイトをpostメソッドでスパイダーが巡回し、常に自分自身に302を送信するという問題があると同級生から報告がありました。詳細は以下の通りです:
url: http://www.meituan.com /multiact/default/deal/25814805.html
投稿データ: "yui_3_16_0_1_1423700000_000:{"act":"deal/dynamiccomponent","args":25814805,"__referer":""}"Python 経由で通常クロールできます。クロールコードは次のとおりです:
import urllibimport urllib2values = { 'yui_3_16_0_1_1423700000_000':'{"act":"deal/dynamiccomponent","args":25814805,"__referer":""}',}header={ "X-Requested-With":"XMLHttpRequest",}url="http://www.meituan.com/multiact/default/deal/25814805.html"data = urllib.urlencode(values)print datareq = urllib2.Request(url, data,header)response = urllib2.urlopen(req)the_page = response.read()print the_page
しかし、私が構築したhttpリクエストパッケージは次のとおりです:
POST /multiact/default/deal/25814805.html HTTP/1.1^ M
ホスト: www.meituan.com^M
コンテンツの長さ: 126^M
接続: close^M
コンテンツ タイプ: application/x-www-form-urlencoded^M
ユーザー エージェント: Mozilla/5.0 ( Windows NT 5.1; rv:6.0.2) Gecko/20100101 Firefox/6.0 .2^M
Accept-Encoding: gzip^M
Accept: */*^M
x-www-form-urlencoded^M
Just詳細は次のとおりです:
POST /multiact/default/deal/25814805.html HTTP/1.1^M
ホスト: www.meituan.com^M
接続: close^ M
Content-Type: application/x-www-form-urlencoded^M User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:6.0.2) Gecko/ 20100101 Firefox/6.0.2^M
Accept-Encoding : gzip^M
Accept: */*^M
X-Requested-With: XMLHttpRequest^M
Content-Type: application/x-www-form-urlencoded^ M