ckw4400 2019-12-13 14:24 采纳率: 50%
浏览 773
已结题

通过python去爬网站,但是无法获取网站cookies。

1、尝试用python抓取网站里的一个值,页面是login.aspx,首先向页面抓取cookies,但是获取到的结果显示为
<RequestsCookieJar[<Cookie ASP.NET_SessionId=li5evtzfavnsshcvsiwhihyb for 10.23.10.20/>, <Cookie UICulture=ZH-CN for 10.23.10.20/>]>

2、我的步骤是这样:
首先打开登入界面,10.23.10.20/login.aspx:
图片说明

然后点击登入后跳转到新页面,http://10.23.10.20/index.aspx

图片说明

3、我的代码如下:

import requests
session = requests.session()
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36',
'content-type': 'application/json'
}
url = 'http://10.23.10.20/Login.aspx'
data = {
    '__EVENTTARGET':'', 
    '__EVENTARGUMENT':'',
    '__LASTFOCUS':'', 
    '__VIEWSTATE': '/wEPDwUKLTU4MDcwODY1NA9kFgICAw9kFgoCBA8QDxYGHg1EYXRhVGV4dEZpZWxkBQdSZXNOYW1lHg5EYXRhVmFsdWVGaWVsZAUIUGFyYUNvZGUeC18hRGF0YUJvdW5kZ2QQFQMM566A5L2T5Lit5paHBuiLseaWhwznuYHkvZPkuK3mlocVAwVaSC1DTgVFTi1VUwVaSC1ISxQrAwNnZ2cWAWZkAgUPDxYCHgdWaXNpYmxlaGRkAgYPDxYCHwNoZGQCBw8PFgIeBFRleHQFEumqjOivgeeggeW3suemgeeUqGRkAgsPDxYEHghDc3NDbGFzcwUFc3ViYnQeBF8hU0ICAmRkZDv8A1G1UoCThtCFhAOH9WUJNdJM/dRKUFJVTapERgX8',
    '__VIEWSTATEGENERATOR': 'C2EE9ABB',
    'txtUserName': 'admin',
    'txtPSW': '123456',
    'HiddenField1':'', 
    'HiddenField2':'', 
    'UICultureDropDownList': 'ZH-CN',
    'LoginButton':'' 
}
session.post(url, headers=headers, data=data)
cookies = session.cookies
print(cookies)

获取到的结果就是第一步写结果,得到的cookies不对。
我查看登入后index.aspx的resquest headers内容,如下图:
图片说明

个人认为系统的cookies应该是红框里面显示的。

所以不知道是我哪里错误了?取不到正确的cookies。

完整的截图:

图片说明

图片说明

  • 写回答

1条回答 默认 最新

  • cat 2019-12-13 15:00
    关注
    <RequestsCookieJar[<Cookie ASP.NET_SessionId=li5evtzfavnsshcvsiwhihyb for 10.23.10.20/>, <Cookie UICulture=ZH-CN for 10.23.10.20/>]>
    

    这个本身没什么问题,说明返回了一个 cookie jar。但是你要的那个 cookie 是 302 的请求回复给你的,你如果跟必问那边说的一样返回的是 500 错误,那当然不会带有你想要的 cookie。所以问题还是为什么你的 Python 请求返回 500 而不是像浏览器里一样返回的 302。

    第二张截图你截一个完整的,右边你只截了返回的 header,下面请求的信息你没截全,要看看那边浏览器是怎么传参数的。

    评论

报告相同问题?

悬赏问题

  • ¥15 用三极管设计一个单管共射放大电路
  • ¥20 fluent无法启动
  • ¥15 孟德尔随机化r语言运行问题
  • ¥15 pyinstaller编译的时候出现No module named 'imp'
  • ¥15 nirs_kit中打码怎么看(打码文件是csv格式)
  • ¥15 怎么把多于硬盘空间放到根目录下
  • ¥15 Matlab问题解答有两个问题
  • ¥15 LCD12864中文显示
  • ¥15 在使用CH341SER.EXE时不小心把所有驱动文件删除了怎么解决
  • ¥15 gsoap生成onvif框架