Web scraping 使用ApachePython请求库将数据发布到aspx表单,并使用BeautifulSoup刮取用户数据

Web scraping 使用ApachePython请求库将数据发布到aspx表单,并使用BeautifulSoup刮取用户数据,web-scraping,beautifulsoup,python-requests,Web Scraping,Beautifulsoup,Python Requests,我试图使用Python请求库将数据发布到ASPX表单。但我没能把它做好。我的计划是收集用户数据,例如姓名、地址等 这是web表单:-我只使用一个输入进行搜索:“CP编号”=16803 这是我的密码: import requests from bs4 import BeautifulSoup def make_request_to_url(): url = "https://www.icsi.in/student/Members/MemberSearch.aspx" post_d

我试图使用Python请求库将数据发布到ASPX表单。但我没能把它做好。我的计划是收集用户数据,例如姓名、地址等

这是web表单:-我只使用一个输入进行搜索:“CP编号”=16803

这是我的密码:

import requests
from bs4 import BeautifulSoup

def make_request_to_url():
    url = "https://www.icsi.in/student/Members/MemberSearch.aspx"
    post_data = {
        'dnn$ctr410$MemberSearch$txtFirstName': None,
        'dnn$ctr410$MemberSearch$txtLastName': None,
        'dnn$ctr410$MemberSearch$ddlMemberType': None,
        'dnn$ctr410$MemberSearch$txtMembershipNumber': None,
        'dnn$ctr410$MemberSearch$txtCpNumber': 16803,
        'dnn$ctr410$MemberSearch$txtCity': None,
        'dnn$ctr410$MemberSearch$txtOrganisation': None,
        'dnn$ctr410$MemberSearch$txtAddress2': None,            
        'dnn$ctr410$MemberSearch$txtAddress3': None,
        'dnn$ctr410$MemberSearch$txtEmail': None
    }
    r = requests.post(url, data = post_data)
    soup = BeautifulSoup(r.content,'lxml')
    head_name =  soup.find_all("div",{"class":"name_head"})
    print "head_name",head_name

我得到的内容,但不是所需的数据行的名称,地址等刮。怎么办?

我发现了这个有用的链接:使用json代替数据。比如r=requests.post(url,json=post_数据)。这可能会有所帮助。不使用r=请求。post(url,json=post_数据)web表单的可能副本需要
multipart/form data
内容类型,但是
requests
模块默认情况下以
application/x-www-form-urlencoded
的形式发送HTTP post请求。有关在服务器中发送表单的方式,请参阅。