【小说网站 - 抓取登陆后的数据,cookie操作】

今天搞一个小说网站,搞到一些只能登陆后才能获得的信息,比如这个网站,搞到某个用户下的所有书架信息。
在这里插入图片描述
先登录
在这里插入图片描述
上面是一个表单,一般都是post了一些数据到某个地址,于是我们可以通过调试手段抓取其登录信息。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
登录信息抓到了,表单信息也有,而且请求的url是:https://passport.17k.com/ck/user/login

接下来就是看看书架信息。
在这里插入图片描述
每次点击书架,页面都会刷新,于是再来看看点击后的触发的ajax js操作。
在这里插入图片描述
在这里插入图片描述
原来书架信息是json数据返回的,我们也能得到其请求的url是:https://user.17k.com/ck/author/shelf?page=1&appKey=2406394919

除此之外还可以得到cookies的信息

于是测试代码如下:

import requests

data = {
        "loginName": "xinghaiqianxun",
        "password": "Gauss@234"
    }

def test():
    # step 1: 登录
    url = "https://passport.17k.com/ck/user/login"

    session = requests.session()  # session 记录绘画中的用户信息的cookies,这样的话,能保持回话过程(一连串的请求都含有用户信息)
    resp = session.post(url, data)
    # print(resp.text)
    print(resp.cookies)

    # step 2: 获得书架上的信息,
    # 方法一:直接用session去访问,自带有cookies
    # resp = session.get("https://user.17k.com/ck/author/shelf?page=1&appKey=2406394919")  # 回话自带有cooikes
    # 方法二:从浏览器直接复制这一串cookies
    # resp = requests.get("https://user.17k.com/ck/author/shelf?page=1&appKey=2406394919")  # 这样一个全新的请求,不带用户信息,就无法获得
    resp = requests.get("https://user.17k.com/ck/author/shelf?page=1&appKey=2406394919",
                        headers={"Cookie": "GUID=a0fe44ca-216a-41c9-ba45-4d77576b84e6; BAIDU_SSP_lcr=https://www.baidu.com/link?url=Veyn1NHYtQQUwMe1aqnlb8caXqQqqHGgRLwW-zM8tJC&wd=&eqid=a354907f001c012a0000000261cb0df8; c_channel=0; c_csc=web; Hm_lvt_9793f42b498361373512340937deb2a0=1640697343,1640697589,1640698757; accessToken=avatarUrl%3Dhttps%253A%252F%252Fcdn.static.17k.com%252Fuser%252Favatar%252F15%252F75%252F60%252F87496075.jpg-88x88%253Fv%253D1640697433000%26id%3D87496075%26nickname%3Dxinghaiqianxun%26e%3D1656296101%26s%3D5ade340effce8c26; sensorsdata2015jssdkcross=%7B%22distinct_id%22%3A%2287496075%22%2C%22%24device_id%22%3A%2217e012eadc4142-0e5ad7061ebfdd-4303066-921600-17e012eadc581%22%2C%22props%22%3A%7B%22%24latest_traffic_source_type%22%3A%22%E7%9B%B4%E6%8E%A5%E6%B5%81%E9%87%8F%22%2C%22%24latest_referrer%22%3A%22%22%2C%22%24latest_referrer_host%22%3A%22%22%2C%22%24latest_search_keyword%22%3A%22%E6%9C%AA%E5%8F%96%E5%88%B0%E5%80%BC_%E7%9B%B4%E6%8E%A5%E6%89%93%E5%BC%80%22%7D%2C%22first_id%22%3A%22a0fe44ca-216a-41c9-ba45-4d77576b84e6%22%7D; Hm_lpvt_9793f42b498361373512340937deb2a0=1640744444"})  # 这样一个全新的请求,不带用户信息,就无法获得
    print(resp.json())

if __name__ == '__main__':
    # 以后任何需要登录后次啊能获得的信息,就需要cookies,先登录,就可以有cookies了
    test()
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值