#用户登陆 得到cookie
#带着cookie 去请求到书架到url
#必须把上面到俩个操作连起来
#session 可以认为是一连串到请求 这个过程中 cookie 不会消失
得到session
登陆7k小说网
url
数据不在页面源代码中
找到数据的url
找到该页面的url
https://user.17k.com/ck/author/shelf?page=1&appKey=2406394919
下面是错误做法
这是全新的url。不知道 之前的cookie
会话知道cookie
# 用户登陆 得到cookie
#带着cookie 去请求到书架到url
#必须把上面到俩个操作连起来
# session 可以认为是一连串到请求 这个过程中 cookie 不会消失
import requests
session = requests.session()
data = {
"loginName": "152900212258",
"password": "xie29080134804"
}
url = "https://passport.17k.com/ck/user/login"
url1 ="https://user.17k.com/ck/author/shelf?page=1&appKey=2406394919"
resp = session.post(url,data=data)
# print(resp.text)
# print(resp.cookies)
# 刚才的session中是有cookie的 如果直接请求 没有cookie
resp1 = session.get(url1)
print(resp1.json())
resp1.close()
resp.close()
如果直接请求
防盗链
梨视频
视频放在video 标签里
里面的src
https://video.pearvideo.com/mp4/adshort/20181011/cont-1452494-11847427-175011_adpkg-ad_hd.mp4
放入地址栏里 就是该视频
页面源代码中没有 该src。是后期 js脚本生成出来的
所有 到xhr里 重新刷新页面
实际视频url。和 开发者模式中srcUrl 区别
爬取 视频页面的数据。被反爬
防盗链
意思是 当前视频请求的上一级网址必须是出现该页面的网址才是合理的
import requests
url = "https://www.pearvideo.com/video_1452494"
contId = url.split("_")[1]
videoStatusUrl = f"https://www.pearvideo.com/videoStatus.jsp?contId={contId}&mrd=0.019516957633259224"
headers = {
"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36",
"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}")
## 下载视频
with open("a.mp4",mode="wb") as f:
f.write(requests.get(srcUrl).content)
resp.close()
代理
import requests
#49.88.148.249:8888
proxies = {
"https": "http://218.60.8.83:3129"
}
resp = requests.get("https://www.baidu.com",proxies=proxies)
resp.encoding = 'utf-8'
print(resp.text)
resp.close()