鱼C论坛

 找回密码
 立即注册
查看: 3516|回复: 9

关于使用cookies模拟登陆b站

[复制链接]
发表于 2019-3-8 19:00:57 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
我在用cookies模拟登陆b站,主要代码:
url = 'www.bilibili.com'
session = requests.session()
r1 = session.get(url,headers=headers,cookies=cookies),,
打印r1.text却是没登陆的网页代码,cookies应该是有效的,我在selenium使用cookies登陆是完全ok的,
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2019-3-9 15:16:20 | 显示全部楼层
Stubborn 发表于 2019-3-9 15:11
滑动验证码比较难破哦

滑块验证码可以用selenium解决,登陆后获取cookie,我是想用cookie和requests登陆b站,
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-3-9 15:11:32 | 显示全部楼层
绊axs 发表于 2019-3-9 12:14
问题就是怎么反反爬啊啊啊啊啊啊啊,除了万金油selenium

滑动验证码比较难破哦
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-3-9 12:14:55 | 显示全部楼层

问题就是怎么反反爬啊啊啊啊啊啊啊,除了万金油selenium
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-3-9 01:14:14 | 显示全部楼层
绊axs 发表于 2019-3-9 00:40
前面代码登陆鱼c论坛是没有问题的,但同样的代码,改了必要的cookie之后,还是无法登陆b站,我不知道是什 ...

bilibili有反爬
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-3-9 00:49:37 | 显示全部楼层
Stubborn 发表于 2019-3-8 22:44
session() 是用来维持会话,保存cookie
例如下面,我用session对象,去保存cookie进行下次,下下次的 ...

url = 'https://www.bilibili.com/'
headers = {
    "Cookie": "xxxx",
    "Host": "www.bilibili.com",
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36",
    'Upgrade-Insecure-Requests': '1',
}

req = requests.get(url, headers=headers)
print(req.text)

附上代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-3-9 00:40:11 | 显示全部楼层
Stubborn 发表于 2019-3-8 22:44
session() 是用来维持会话,保存cookie
例如下面,我用session对象,去保存cookie进行下次,下下次的 ...

前面代码登陆鱼c论坛是没有问题的,但同样的代码,改了必要的cookie之后,还是无法登陆b站,我不知道是什么原因,大概是一种反爬机制,,,,,后面一大段代码今天太晚了还没看,
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-3-8 22:44:57 | 显示全部楼层
本帖最后由 Stubborn 于 2019-3-8 22:50 编辑
  1. import requests

  2. headers = {
  3.     "Cookie": "*******",  # 这里自己找下网页源码的Cookie值
  4.     "Host": "fishc.com.cn",
  5.     "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64)",

  6. }
  7. response = requests.get("https://fishc.com.cn/", headers=headers)
  8. print(response.text)
复制代码


session() 是用来维持会话,保存cookie
例如下面,我用session对象,去保存cookie进行下次,下下次的网络请求
  1. from PyQt5.Qt import *
  2. import requests,json,base64

  3. class API(object):
  4.     #下载验证码  GET
  5.     GET_YZM_URL = "https://kyfw.12306.cn/passport/captcha/captcha-image64?login_site=E&module=login&rand=sjrand"

  6.     #校验验证码 POST
  7.     # callback: jQuery191037043257607249735_1550240582305
  8.     # answer: 188, 112, 128, 116
  9.     # rand: sjrand
  10.     # login_site: E
  11.     # _: 1550240582307
  12.     CHECK_YZM_URL = "https://kyfw.12306.cn/passport/captcha/captcha-check?callback"

  13. class APITool(QObject):

  14.     #保持会话,建立会话对象“客户端”,
  15.     session = requests.session()

  16.     @classmethod  #类方法,因为需要共用cookies,借此保持会话
  17.     def download_yzm(cls):
  18.         response = cls.session.get(API.GET_YZM_URL)
  19.         _base64 = (response.json()["image"])
  20.         content = base64.b64decode(_base64)
  21.         #print(image)
  22.         # print(response.content)
  23.         # print(cls.session.cookies)
  24.         with open("API/yzm.jpg","wb") as f:
  25.             f.write(content)
  26.         return "API/yzm.jpg"

  27.     @classmethod
  28.     def check_yzm(cls,yzm):
  29.         data_dic = {
  30.             #"callback": "jQuery191037043257607249735_1550240582305",
  31.             "answer": yzm,
  32.             "rand": "sjrand",
  33.             "login_site": "E",
  34.             #"_": "1550240582307"经过测试 "callback""_" 不加似乎不影响请求,具体后面才能知道!
  35.         }
  36.         response = cls.session.post(API.CHECK_YZM_URL,data=data_dic)
  37.         #下面这几行个人认为处理不是很好,有自己改的,比较好的,可以下面回复
  38.         for i in response.text:
  39.             try:
  40.                 a = int(i)
  41.                 return a == 4
  42.             except:
  43.                 pass
  44.         #print(response.text)
  45.         #print(response.json(["result_code"]))
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-3-8 22:12:31 | 显示全部楼层
dd
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2019-3-8 19:23:20 | 显示全部楼层
dd
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-10-11 03:04

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表