尝试爬取学校微信公众号,但是连token都取不出来。。。求救。。。

最近在学爬虫,准备拿学校微信公众号试试手,但是发现token取不出来。。。
用Print大法,发现token总是为0 。。。,这是什么情况。。。
部分代码如下

def get_content(query):
    url = 'https://mp.weixin.qq.com'
    header = {
        "HOST": "mp.weixin.qq.com",
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.119 Safari/537.36"
        }
    with open('cookie.txt', 'r', encoding='utf-8') as f:
        cookie = f.read()
    cookies = json.loads(cookie)
    response = requests.get(url=url, cookies=cookies)
    print(response.url)
    res = requests.get(response.url)
    token = re.findall(r'token=(\d+)', res.text)
    print(token)

这张图是我把res.text保存下来后看的,发现token里为空

但是我自己进平台主页看源码里,其实是有token的图片说明

难道说我其实没有登陆进去吗?怎么看自己是不是已经登陆成功了呢。。。

2个回答

我来给你科普一下token的概念 token:令牌以下来自百度
是服务端生成的一串字符串,作为客户端进行请求的一个标识。

当用户第一次登录后,服务器生成一个token并将此token返回给客户端,以后客户端只需带上这个token前来请求数据即可,无需再次带上用户名和密码。

简单token的组成;uid(用户唯一的身份标识)、time(当前时间的时间戳)、sign(签名,token的前几位以哈希算法压缩成的一定长度的十六进制字符串。为防止token泄露)。

用户登录时客户端向服务端发送请求,服务端收到请求验证 验证通过之后会返回给客户端一个token 一般是sesssionId,下次再去访问的时候就不需要进行用户名密码验证了,只要你的token不为空就ok,当然如果做权限控制的话 token可能还得进一步验证。

baidu_33403616
再写三行 会不会是微信做了反爬啊
一年多之前 回复
dw_stackflow
小戴今天开心吗 我做爬虫的话是需要取到我的token的。。。但是我通过Print大法,发现我这段代码取的token值为空,这样我是做不下去的。。。
一年多之前 回复

你有登录?

token是在你登录之后,才会有值的。

dw_stackflow
小戴今天开心吗 这边只是我获取token的一段代码,我上面有登陆部分的代码的,没贴出来,事实上,我登陆成功了,但这段代码我取不出token
一年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问