2017-06-19 12 views
0

私は、Pythonのポストリクエストを使ってウェブページから「ファーストネーム」を削るためのスクリプトを書いています。しかし、私のスクリプトを実行すると、結果もエラーも出ません。私は正しいことをやっているようです。 「ファーストネームが」ある「SRO0394294」を取得するためにPOST要求のあるPythonスクレイパーが結果を返さない

import requests 
from lxml import html 
payload = {'ScriptManager1':'UpdatePanel1|btnProceed','__EVENTTARGET':'','__EVENTARGUMENT':'','__VIEWSTATE':'/wEPDwULLTE2NzQxNDczNTcPZBYCAgQPZBYCAgMPZBYCZg9kFgQCAQ9kFgQCAQ9kFgICAQ9kFg4CBQ8QZGQWAGQCFQ8QZGQWAWZkAiEPEGRkFgFmZAI3DxBkZBYAZAI7DxBkZBYAZAJvDw9kFgIeBXZhbHVlZWQCew8PZBYCHwBlZAICD2QWAgIBD2QWAgIBD2QWAmYPZBYSAgcPEGRkFgBkAi0PEGRkFgFmZAJFDxYCHgdFbmREYXRlBmYcik5ut9RIZAJNDxBkZBYBZmQCZQ8WAh8BBmYcik5ut9RIZAJ7DxBkZBYAZAKBAQ8QZGQWAGQCyAEPD2QWAh8AZWQC1AEPD2QWAh8AZWQCBw9kFgICAw88KwARAgEQFgAWABYADBQrAABkGAMFHl9fQ29udHJvbHNSZXF1aXJlUG9zdEJhY2tLZXlfXxYDBQxyZG9QZXJtYW5lbnQFDHJkb1Byb3Zpc2lvbgUMcmRvUHJvdmlzaW9uBQlHcmlkVmlldzEPZ2QFCk11bHRpVmlldzEPD2RmZFSgnfO4lYFs09JWdr2kB8ZwSO3808nJf+616Y8YJ3UF','__VIEWSTATEGENERATOR':'5629D98D','__EVENTVALIDATION':'/wEdAAekSVFWk+dy9X9XnzfYeR4NT1Z25jJdJ6rNAjXmHpbD+Q8ekkJ2enuXq0jY/CeUlod/njRPjRiZUniYWoSlesZ/+0XiOc/vwjI5jxqS0D5ang1Wtvp3KMocxPzInS3xjMbN+DvxnwFeFeJ9MIBWR693SSiBqUlIhPoALKQ2G08CpjEhrdvaa2JXqLbLG45vzvU=','r1':'rdoPermanent','txtRegistNo':'SRO0394294','__ASYNCPOST':'true','btnProceed':'Proceed'} 
headers = {'User-Agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.81 Safari/537.36'} 
response = requests.post("https://www.icaionlineregistration.org/StudentRegistrationForCaNo.aspx", params=payload, headers=headers).text 
tree = html.fromstring(response) 
item = tree.xpath('//div[@class="div_input_place"]/input[@id="txt_name"]/@value') 
print(item) 

URLは私のスクリプトに与えられ、REG数:誰かが私はここに欠けているものを私を示す正しい方向に私を指すことを願っています。私が上で使用したxpathは正しいものです。

答えて

0

__EVENTTARGETフィールドが空である可能性が高いため、リクエストを送信するために必要な可能性があります。ほとんどの場合、フォーム送信ボタンで設定する値を見つけることができます。

また、__VIEWSTATEはリクエスト時に常に再生成されるため、取得する必要があります。最初にGET要求を行い、__VIEWSTATE入力を保存してから、以前の__VIEWSTATE値のPOST要求を実行できます。

+0

あなたの答えはありがとうございました。私は、chrome開発者ツールで生成されたフォーム要求パラメータに従って処理しました。 – SIM

0

__VIEWSTATE入力が常に変化しています。この入力はボットからの登録フォームを防ぐために使用できます

関連する問題