首页 > 其他分享 >【小说网站 - 抓取登陆后的数据,cookie操作】

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

时间:2022-12-14 16:31:46浏览次数:48  
标签:cookies resp 抓取 3A% cookie 登陆 https com 22%


今天搞一个小说网站,搞到一些只能登陆后才能获得的信息,比如这个网站,搞到某个用户下的所有书架信息。

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


先登录

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


上面是一个表单,一般都是post了一些数据到某个地址,于是我们可以通过调试手段抓取其登录信息。

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


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


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


登录信息抓到了,表单信息也有,而且请求的url是:https://passport.17k.com/ck/user/login接下来就是看看书架信息。

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


每次点击书架,页面都会刷新,于是再来看看点击后的触发的ajax js操作。

【小说网站 - 抓取登陆后的数据,cookie操作】_用户信息_07


【小说网站 - 抓取登陆后的数据,cookie操作】_用户信息_08


原来书架信息是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()


标签:cookies,resp,抓取,3A%,cookie,登陆,https,com,22%
From: https://blog.51cto.com/u_12419595/5937534

相关文章

  • Cookie&jsp入门
    会话技术1,会话:一次会话中包含多次请求和响应一次会话:浏览器第一次给服务器资源发送请求,会话建立,直到有一方断开为止。2,功能:在一次会话范围内多次请求间共享数据。3,方式:1,......
  • cookies可以跨域了~单点登陆(a.com.cn与b.com.cn可以共享cookies)
    如果您的a.com.cn站点需要与b.com.cn站点共享cookies,一般满足这种要求的系统是为了做单点登陆的,现在我来讲一下实现方法:a.com.cn登陆后,写cookies,在b.com.cn里,登陆状态为已经......
  • 毕昇 JDK 登陆 Eclipse Adoptium 开源 JDK 发行版市场
    毕昇JDK[1]作为高质量企业级的开源JDK发行版,被openEuler和业界Java用户广泛使用,它的兼容性和质量也受到了EclipseAdoptium工作组的认可,于2022年05月26日......
  • CURL获取数据-支持cookie模拟登录
    <?php$url='http://abc.com';$method='get';$optionArr=array();$optionArr['cookie']='userid=1641281255339_h8wgml1013;';$result=curlDeal($url,$method,......
  • Cookie与Session
    目录Cookie与Session1、Django操作cookie简单实现用户登录加入装饰器2、Django操作session设置session获取session过期时间清除sessionCookie与SessionHTTP被设计为”⽆......
  • 如何使用 Towify 在小程序中配置“获取手机验证码登陆”功能?
    前置准备:需要发送验证码的手机号具体步骤:创建用户表添加输入框组件添加触发按钮创建发送手机验证码事件创建手机登陆事件配置获取验证码按钮触发器配置登陆按钮触发......
  • 使用网络爬虫自动抓取图书信息
    网络爬虫是一种从互联网上进行开放数据采集的重要手段。本案例通过使用Python的相关模块,开发一个简单的爬虫。实现从某图书网站自动下载感兴趣的图书信息的功能。主要实现的......
  • 更改远程服务器允许远程登陆
    在主机商的控制台先登录主机,打开vim/etc/ssh/sshd_config找到 #Authentication,将 PermitRootLogin 参数修改为 yes保存退出后输入 servicesshdrestart如果不......
  • JSP改造Cookie案例以及Session的快速入门
    JSP改造Cookie案例以及Session的快速入门<%@pageimport="java.util.Date"%><%@pageimport="java.text.SimpleDateFormat"%><%@pageimport="java.net.URLEncode......
  • vue无法获取flask设置的cookie
    最近在使用vue3开发基于flask后端的前后端分离项目时候,设置路由守卫时一直无法获取到登录后的cookie中session值但是在浏览器中却可以看到cookie先上代码router.befor......