如何仅在python

时间:2019-03-30 10:47:55

标签: ajax web-scraping python-requests web-crawler http-post

我实际上是在尝试使用请求模块解析网站,并从中提取一些文本。

网址:https://www.icsi.in/student/Members/MemberSearch.aspx

在“ Cp编号”文本字段输入中输入网址后,输入:16803

点击搜索

在底部可以看到一些数据,我想要这些数据,比如说一个名字。

我可以使用硒成功获取数据,但是无法使用请求模块获取数据。

我尝试了请求模块,提供参数,会话,Cookie等。 但没有任何效果。

url = "https://www.icsi.in/student/Members/MemberSearch.aspx"
ss = {'dnn$ctr410$MemberSearch$txtCpNumber':'16803',
      '__EVENTTARGET':'dnn$ctr410$MemberSearch$btnSearch',
      '__VIEWSTATEGENERATOR':'6A295697',
      'dnn$ctlHeader$dnnSearch$Search':'SiteRadioButton'}

session = requests.Session()
cookies = session.cookies.get_dict()

for cookie in cookies:
    session.cookies.set(cookie['name'], cookie['value'])

response = requests.post(url, data=ss)
print(response)

HTMLTree = html.fromstring(response.content)

name = HTMLTree.xpath('//div[@class="name_head"]//text()')

print(name)

我希望得到人名的输出。

外面有人请帮助我。

1 个答案:

答案 0 :(得分:0)

如果您不介意使用C#代码,我将非常乐意为您提供帮助,否则这将是一个漫长的过程。如果您选择只使用python,那么您应该尝试在C:\ User [USERNAME] \ Appdata \ Local \ Google \ Chrome \ User Data \ Default \ Cookies中获取加密的值。相应的操作系统文件路径。您可以使用SQLite读取和修改加密的值。

cookie = Decrypt(Encoding.Default.GetBytes(SQLDatabase1.GetValue(i, "encrypted_value")
if (cookie.Contains(".ASPXANONYMOUS")): 
    Step1 = cookie + "END"
    Step2 = (step1 + ".ASPXANONYMOUS")

上面的以下代码可能会帮助您完成旅程。