這裏網站會列出一些基於下拉過濾器的數據,所以我試圖通過傳遞靜態下拉值來獲取這些數據,但我認爲由於視圖狀態我無法抓住這些數據。使用python抓取數據
任何人都有任何想法如何抓取使用viewstate的asp.net網站數據?
我收到以下錯誤
驗證視圖狀態MAC失敗。如果此應用程序由Web Farm或集羣託管,請確保<machineKey>配置指定相同的validationKey和驗證算法。 AutoGenerate不能在羣集中使用。
的Python腳本
import requests
from bs4 import BeautifulSoup
def get_viewstate():
url = "http://xlnindia.gov.in/frm_G_Cold_S_Query.aspx?ST=GJ"
req = requests.get(url)
data = req.text
bs = BeautifulSoup(data)
return bs.find("input", {"id": "__VIEWSTATE"}).attrs['value']
url = "http://xlnindia.gov.in/frm_G_Cold_S_Query.aspx?ST=GJ"
data = {"__VIEWSTATE": get_viewstate(),"ST":'GJ', "ddldistrict":'AMR', "ddltaluka":'' ,"btnSearch":'Search'}
req = requests.post(url, data)
bs = BeautifulSoup(req.text)
print(bs.prettify())
給硒試一試? –