爬虫学习5——requests进阶(cookie登录、防盗链、

目录

cookies登录

方法一:在提出申请时指定cookie

方法二:使用session,给出登陆的网站和账户密码,后续使用session提出网站申请 

防盗链:就是网站的溯源,当前本次请求的上一级是谁


cookies登录

登录之后会得到服务器返回的cookie,使用cookie请求我们需求的url页面

session用于保持登录信息,在这个过程中cookie信息不会丢失

session=requests.session()

方法一:在提出申请时指定cookie

import requests

resp=requests.get('https://user.17k.com/ck/author/shelf?page=1&appKey=2406394919',headers={'Cookie': 'GUID=db7d8a94-9836-49af-9d37-528c168c3c11; sajssdk_2015_cross_new_user=1; c_channel=0; c_csc=web; BAIDU_SSP_lcr=https://graph.qq.com/; Hm_lvt_9793f42b498361373512340937deb2a0=1646533275,1646542908,1646543120; accessToken=avatarUrl%3Dhttps%253A%252F%252Fcdn.static.17k.com%252Fuser%252Favatar%252F19%252F39%252F77%252F93477739.jpg-88x88%253Fv%253D1646548038000%26id%3D93477739%26nickname%3DTimmy666%26e%3D1662100809%26s%3D6dcc24a1c68aa6fd; sensorsdata2015jssdkcross=%7B%22distinct_id%22%3A%2293477739%22%2C%22%24device_id%22%3A%2217f5d07ebff14e-0fe76a06920b2b-56171d58-1296000-17f5d07ec00558%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%22db7d8a94-9836-49af-9d37-528c168c3c11%22%7D; Hm_lpvt_9793f42b498361373512340937deb2a0=1646549408'})
print(resp.json())

方法二:使用session,给出登陆的网站和账户密码,后续使用session提出网站申请 

import requests

session=requests.session()

url='https://user.17k.com/www/bookshelf/'

data={'loginName':'17860069596','password':'qwerasdf123'}
session.post(url,data=data)

resp=session.get('https://user.17k.com/ck/author/shelf?page=1&appKey=2406394919')
print(resp.json())

上述两种方法得到的结果相同 

防盗链:就是网站的溯源,当前本次请求的上一级是谁

import requests


url='https://www.pearvideo.com/video_1753355'

contID=url.split('_')[1]

videoStatusUrl=f'https://www.pearvideo.com/videoStatus.jsp?contId={contID}'

headers={'Referer': 'https://www.pearvideo.com/video_1753355'}# Referer的值就是url

resp=requests.get(videoStatusUrl,headers=headers)

dic=resp.json()

srcUrl=dic['videoInfo']['videos']['srcUrl']
systemTime=dic['systemTime']

srcUrl=srcUrl.replace(systemTime,f'cont-{contID}')

img_resp=requests.get(srcUrl)
with open('F:/代码/pachong.mp4',mode='wb') as f:
		
		f.write(img_resp.content)#使用content拿到图片的字节,然后write
resp.close()

通过上面的代码我们就可以将短视频保存到本地名为pachong的一个本地视频

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱打羽毛球的小怪兽

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值