gpt4 book ai didi

python - 如何使用 python requests 库在两种形式之间进行选择?

转载 作者:太空宇宙 更新时间:2023-11-03 16:33:31 30 4
gpt4 key购买 nike

我正在尝试使用请求库向包含两个表单的网站提交 POST 请求。该网站是https://itsapps.unc.edu/dir/dirSearch/view.htm我正在尝试访问高级搜索表单。

表单的 html 如下所示:

...
<div id="basicSearch" class="yui-hidden">
<form onSubmit="return false;" method="post" accept-charset="UTF-8">
...
</form>
</div>
<div id="advancedSearch"><!-- advanced search -->
<form onSubmit="return false;" method="post" accept-charset="UTF-8">
<table class="section">
<tr>
<td colspan="2"><label for="affiliation">Search
...

我该如何去做呢?有没有办法指定表单 ID/名称?现在我所拥有的是:

url = 'https://itsapps.unc.edu/dir/dirSearch/search'
form_data = {'affiliation':'students',
'firstname':'Anthony'}

response = requests.post(url, data=form_data)
print response.text

由于高级搜索选项具有从属关系作为下拉菜单,因此我假设将其包含在表单参数中将自动选择与参数匹配的表单,但当我从 form_data 中删除从属关系参数时,输出不会更改。

注意,检查开发者工具网络信息进行基本搜索时看到的表单数据是:

searchString=Anthony

高级搜索是:

affiliation=student&firstname=Anthony&lastname=&email=&pid=&onyen=

最佳答案

您只需发布到https://itsapps.unc.edu/dir/dirSearch/search,您就会得到一些返回的 json:

In [1]: data = {
...: "firstname": "Laurel",
...: "lastname": "Foote-Hudson"}

In [2]:

In [2]: r = requests.post("https://itsapps.unc.edu/dir/dirSearch/search", data=data)

In [3]: print(r.json())
[{u'uncReverseDisplayName': u'Foote-Hudson, Laurel', u'telephoneNumber': u'xxxxxxxxxxxxxxx', u'eduPersonNickname': u'Laurel', u'uncPreferredSurname': u'Foote-Hudson', u'sn': u'Foote-Hudson', u'spid': u'240a0d7c1534aa3a', u'mail': u'xxxxxxxxxxx', u'givenName': u'Laurel'}

您可以使用 chrome 或 firefox 查看帖子表单字段:

enter image description here

您未提供的字段为空。

关于python - 如何使用 python requests 库在两种形式之间进行选择?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37428098/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com