使用Python请求发布到asp.net表单失败

使用Python请求发布到asp.net表单失败,python,asp.net,Python,Asp.net,我试图使用Python请求将值发布到 这是我迄今为止在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) 它只返回

我试图使用Python请求将值发布到

这是我迄今为止在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。我的直觉是我在做一些根本错误的事情,但我不确定是什么

在搜索帖子请求中发送的参数比引用公司名称的
ctl00$ctl00$contentplaceholder 1$contentplaceholder 1$txtCompany
多得多

相反,为了使事情变得透明和简单,我将使用“自动填充”所需的其他表单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

我编辑了标签以反映这一点。谢谢。如果你不介意的话。。。发送的其他参数是什么?@user32882只需打开浏览器开发人员工具的“网络”选项卡,提交表单并检查将出现在网络网格中的POST请求。希望有帮助。