Python 选择带有请求的下拉值

明天科恩

您好,我有这个简单的 html 选择选项:

<select name="dnn$ctr6707$TimeTableView$ClassesList" id="dnn_ctr6707_TimeTableView_ClassesList" class="HeaderClasses">

<option selected="selected" value="14">ז1ש</option>

<option value="15">ז2ש</option>

<option value="16">ז3ש</option>

<option value="17">ז4ש</option>

<option value="49">ז5ש</option>

<option value="60">ז6ש</option>

<option value="24">ז7ש</option>

<option value="1">ז8ד</option>

<option value="2">ז9ד</option>

<option value="3">ז10ד</option>

<option value="4">ז11ד</option>

<option value="5">ח1ד</option>

<option value="6">ח2ד</option>

<option value="7">ח3ד</option>

<option value="8">ח4ד</option>

<option value="999">ח5ד</option>

<option value="18">ח6ש</option>

<option value="19">ח7ש</option>

<option value="20">ח8ש</option>

 </select></td>

表的表单数据是“”dnn$ctr6707$TimeTableView$ClassesList””但是当我请求它时,类表的值不会改变它保持在14。这是网站,如果你想尝试:http://tikah.iscool.co.il/default.aspx如果您能向我提供更改值或解释的 get 请求(最好使用代码),我将不胜感激!谢谢!

这是我的代码:

def main():
    dat = {
        '__EVENTTARGET': 'dnn_ctr6707_TimeTableView_TdChangesTable',
        '__VIEWSTATEGENERATOR': 'CA0B0334',
        'dnn$ctr6707$TimeTableView$ClassesList': 42,
        'dnn$ctr6707$TimeTableView$ControlId': 2
    }
    responde = requests.get('http://tikah.iscool.co.il/default.aspx', data=dat)
超级炖

这让我得到一个 200 的状态代码,所以我假设你可以从那里获得你需要的任何信息。

import requests
from bs4 import BeautifulSoup as bs



url=r'http://tikah.iscool.co.il/default.aspx'

s=requests.Session()
r=s.get(url)


soup=bs(r.text,'html.parser')

dataload={
    '__EVENTTARGET': 'dnn$ctr6707$TimeTableView$ClassesList',
    '__EVENTARGUMENT': '',
    '__LASTFOCUS': '',
    '__VIEWSTATE': soup.find('input',{'id':'__VIEWSTATE'}).attrs['value'],
    '__VIEWSTATEGENERATOR': soup.find('input',{'id':'__VIEWSTATEGENERATOR'}).attrs['value'],
    'dnn$ctr6707$TimeTableView$ClassesList': '42',
    'dnn$ctr6707$TimeTableView$ControlId': '',
    'ScrollTop':'' ,
    '__dnnVariable': ''
}



headers={
    'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',
    'accept-encoding': 'gzip, deflate, br',
    'accept-language': 'en-US,en;q=0.9',
    'cache-control': 'max-age=0',
    'content-length': '3278',
    'Host': 'tikah.iscool.co.il',
    'Origin': 'http://tikah.iscool.co.il',
    'Referer': 'http://tikah.iscool.co.il/default.aspx',
    'upgrade-insecure-requests': '1',
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.119 Safari/537.36'

}

r=s.post(r.url,headers=headers,data=dataload)
print(r.status_code)

解释:

当我检查发布请求时,我看到有一些参数被传递,这些参数对于每个浏览会话都是唯一的(在这种情况下是 __VIEWSTATE 和 __VIEWSTATEGENERATOR)。所以这些值必须来自某个地方。我检查了页面中的元素并找到了这样的隐藏输入

<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUIMjU3MTQzOTcPZBYGZg8WAh4EVGV4dAU+PCF........

那么这只是使用 BeautifulSoup 解析“值”属性并将其放入我的dataload字典中的问题。如果您以前没有使用过 BS,我建议您阅读此处的文档

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

带有请求和beautifulsoup的Python Scrape

来自分类Dev

Python发布带有请求的cookie

来自分类Dev

Python:删除带有请求和JSON的函数

来自分类Dev

在python中处理带有请求的发布数据

来自分类Dev

如何通过带有请求模块的Python在json中打印Twitter处理?

来自分类Dev

使用带有请求的multipart / form-data的POST的python设置边界

来自分类Dev

带有请求的Python Web抓取-响应中只有一小部分数据

来自分类Dev

带有请求的Python Web抓取-响应中只有一小部分数据

来自分类Dev

发送字典列表作为带有请求的字典值

来自分类Dev

诊断带有请求的挂起请求

来自分类Dev

诊断带有请求的挂起请求

来自分类Dev

带有选择的Python argparse

来自分类Dev

带有来自下拉文本值的参数的Python pandas pd.read_sql

来自分类Dev

如何使用Python使用Selenium选择没有ID的下拉菜单值?

来自分类Dev

带有请求的“点击”按钮

来自分类Dev

带有请求的“点击”按钮

来自分类Dev

处理带有请求的错误URL

来自分类Dev

无法登录带有请求的表单

来自分类Dev

Python Django。如何在name_znat字段中输入用户选择的带有下拉元素的文本

来自分类Dev

带有重定向的Python Web请求

来自分类Dev

带有重定向的python请求

来自分类Dev

带有多线程的Python请求

来自分类Dev

带有装饰器的Python“请求”

来自分类Dev

带有python请求库的无效网址

来自分类Dev

python从多个列表中选择带有引用的最低字母数字值

来自分类Dev

如何在python(2.7)中选择带有输入的变量并更改其值

来自分类Dev

在python中选择带有硒的选项?

来自分类Dev

带有请求主体的Elasticsearch GET请求

来自分类Dev

带有python 400错误请求的POST请求

Related 相关文章

热门标签

归档