gpt4 book ai didi

python - 使用 Python 请求发送到 asp.net 表单失败

转载 作者:太空宇宙 更新时间:2023-11-03 17:03:57 24 4
gpt4 key购买 nike

我正在尝试使用 Python 请求将值发布到 http://www.myvisajobs.com/Search_Visa_Sponsor.aspx?N= 中的“雇主”表单。

这是我迄今为止在 Python 中尝试过的:

import requests
url = "http://www.myvisajobs.com/Search_Visa_Sponsor.aspx?N="
data = {"ctl00$ctl00$ContentPlaceHolder1$ContentPlaceHolder1$txtCompany":"Microsoft"}
r = requests.post(url,data)
print(r.text)

仅返回原始 HTML。我正在尝试返回生成的 HTML。我的直觉是我正在做一些根本错误的事情,但我不确定是什么。

最佳答案

搜索 POST 请求中发送的参数远多于引用公司名称的 ctl00$ctl00$ContentPlaceHolder1$ContentPlaceHolder1$txtCompany

相反,为了使事情变得透明和简单,我会使用 RoboBrowser这将“自动填充”所需的其他表单 POST 参数。示例工作代码:

from robobrowser import RoboBrowser


url = "http://www.myvisajobs.com/Search_Visa_Sponsor.aspx?N="

browser = RoboBrowser(history=True)
browser.open(url)

form = browser.get_form(id='aspnetForm')
form['ctl00$ctl00$ContentPlaceHolder1$ContentPlaceHolder1$txtCompany'].value = 'Microsoft'
browser.submit_form(form)

results = browser.select('div#ctl00_ctl00_ContentPlaceHolder1_ContentPlaceHolder1_divContent table tr')[1:]
for result in results:
cells = result.find_all("td")

print(cells[2].get_text(strip=True))

它打印搜索结果中的公司名称:

Microsoft Corporation
Microsoft Operations Puerto Rico, Llc
Microsoft Caribbean, Inc.
Standard Microsystems Corporation
4Microsoft Corporation
Microsoft Business Solutions Corporation
Microsoft C98052orporation
Microsoft Ccrporation
Microsoft Coiporation
Microsoft Copporation
Microsoft Corforation
Microsoft Licensing, GP
Microsoft Way
Microsoftech Inc
Quantitative Micro Software Llc
Webtv Networks Microsoft Sub
Microsoft
FAST, A Microsoft Subsidiary
Microsoft Corporation - Sham
Microsoft Partner Careers (sponsored By Microsoft Dynamics)
Microsoft Iberica
Microsoft Karthi

关于python - 使用 Python 请求发送到 asp.net 表单失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34758600/

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