目录
方法二:使用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的一个本地视频