【问题标题】:How to scrape the data using requests module only in python如何仅在 python 中使用 requests 模块抓取数据
【发布时间】:2019-03-30 10:47:55
【问题描述】:

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

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

在 Cp Number 文本字段中点击 url 后输入:16803

点击搜索,

在底部你可以看到一些数据,我想要那个数据,让我们说一个名字。

我可以使用 selenium 成功获取数据,但无法使用 requests 模块获取数据。

我已经尝试了请求模块提供参数、会话、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)

我希望输出人名。

任何人都请帮助我。

【问题讨论】:

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


    【解决方案1】:

    如果您不介意使用 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")

    以上代码可能对您的旅程有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-04-09
      • 2017-11-13
      • 2019-04-26
      • 1970-01-01
      • 2019-04-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多