Я попытался получить три значения из URL-адреса 1) __ VIEWSTATE 2) __ VIEWSTATEGENERATOR 3) __ EVENTVALIDATION, но все еще не могу получить результат из почтовой формы - PullRequest
0 голосов
/ 27 декабря 2018

Я попытался получить три значения из URL 1) __ VIEWSTATE 2) __ VIEWSTATEGENERATOR 3) __ EVENTVALIDATION, но все еще не могу получить результат из почтовой формы.

import requests
from bs4 import BeautifulSoup

URL = "URL"

with requests.Session() as s:
    s.headers={"User-Agent":"Mozilla/5.0"}
    res = s.get(URL)
    soup = BeautifulSoup(res.text,"lxml")

   viewstate = soup.select_one("#__VIEWSTATE")['value']
   viewgen = soup.select_one("#__VIEWSTATEGENERATOR")['value']
   eventval = soup.select_one("#__EVENTVALIDATION")['value']

    payload={
        '__VIEWSTATE':viewstate,
        '__VIEWSTATEGENERATOR':viewgen,
        '__EVENTVALIDATION':eventval,
        'today': '20180624',
        'sortBy':'', 
        'selPartID':'', 
        'alertMsg':'', 
        'ddlShareholdingDay': '23',
        'ddlShareholdingMonth': '06',
        'ddlShareholdingYear': '2018',
        'txtStockCode': '00001',
        'txtStockName':'', 
        'txtParticipantID':'', 
        'txtParticipantName':'', 
        'btnSearch.x': '35',
        'btnSearch.y': '8'
    }

   req = s.post(URL,data=payload,headers={"User-Agent":"Mozilla/5.0"})
   soup = BeautifulSoup(req.text,"lxml")

1 Ответ

0 голосов
/ 27 декабря 2018

отсутствуют следующие данные, и вам не нужно устанавливать __EVENTVALIDATION

'__EVENTTARGET':'btnSearch',
'today': '20181227', # current day not 20180624, put it below
'txtShareholdingDate': '2018/06/24',

полная полезная нагрузка

payload={
        '__VIEWSTATE':viewstate,
        '__VIEWSTATEGENERATOR':viewgen,
        '__EVENTTARGET':'btnSearch',
        'today': '20181227',
        'txtShareholdingDate': '2018/06/24',
        'sortBy':'', 
        'selPartID':'', 
        'alertMsg':'', 
        'ddlShareholdingDay': '23',
        'ddlShareholdingMonth': '06',
        'ddlShareholdingYear': '2018',
        'txtStockCode': '00001',
        'txtStockName':'', 
        'txtParticipantID':'', 
        'txtParticipantName':'', 
        'btnSearch.x': '35',
        'btnSearch.y': '8'
    }
...