url动态变化参数的问题
访问一个url:#https://www.pearvideo.com/category_loading.jsp?reqType=5&categoryId=9&start=0&mrd=0.6550337226951173后面的mrd参数是动态变化的,使用过期的mrd得到的不是想要的,请问这有方法可以解决吗? 我觉得应该查它的父级链接 var postdata = "reqType=" + reqType + "&categoryId=" + categoryId + "&start=" + next_start + "&sort=" + popularLength + "&mrd=" + Math.random();
如此可见就是随机数.... 南归 发表于 2021-6-26 08:38
如此可见就是随机数....
https://www.pearvideo.com/js/loadpopular.js?v=4.90 wp231957 发表于 2021-6-26 07:30
我觉得应该查它的父级链接
其实想要的是这个url里面的内容https://www.pearvideo.com/videoStatus.jsp?contId=1732855&mrd=0.5076801804591602 父级链接是https://www.pearvideo.com/video_1732855
直接打开出来的是{
"resultCode":"5",
"resultMsg":"该文章已经下线!",
"systemTime": "1624716640483"
} 南归 发表于 2021-6-26 08:38
如此可见就是随机数....
对阿 linkais 发表于 2021-6-26 22:10
其实想要的是这个url里面的内容https://www.pearvideo.com/videoStatus.jsp?contId=1732855&mrd=0.507680 ...
这样可以拿到,但是 我发现里面的mp4不可下载啊 不知道咋回事
import requests,random
url="https://www.pearvideo.com/videoStatus.jsp?"
mrd=str(random.random());
params={
'contId': '1732855',
'mrd': mrd
}
headers={
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36',
'Cookie': '__secdyid=dba3ee95d2d866dfebc21023fe5936d17737768b9545fbc5021624749764; acw_tc=781bad3116247497640498500e05a5e2ea4ca570ac75959e8112fccb8dc54d; JSESSIONID=427B7C371F35DDA2CCB59E06CE599242; PEAR_UUID=052064b3-d07d-48c2-aff3-b172ce585e55; _uab_collina=162474976832900296017793; p_h5_u=6716E8E6-B42B-48CF-922B-663A084E8896; Hm_lvt_9707bc8d5f6bba210e7218b8496f076a=1624749769; Hm_lpvt_9707bc8d5f6bba210e7218b8496f076a=1624749769; UM_distinctid=17a4aa202265f4-09cbe07c49f3ae-6373264-15f900-17a4aa2022760e; CNZZDATA1260553744=746164291-1624747203-%7C1624747203; SERVERID=a7cc60ddba048546c9441d2558c201d4|1624749771|1624749764',
'Host': 'www.pearvideo.com',
'Referer': 'https://www.pearvideo.com/video_1732855'
}
res=requests.get(url=url,headers=headers,params=params)
print(res.json())
'''
PS D:\wp> py douban.py
{'resultCode': '1', 'resultMsg': 'success', 'reqId': '7febf81e-7419-4561-bbad-ef26de66e615', 'systemTime': '1624749907857', 'videoInfo': {'playSta': '1', 'video_image': 'https://image2.pearvideo.com/cont/20210622/11980839-103454-1.png', 'videos': {'hdUrl': '', 'hdflvUrl': '', 'sdUrl': '', 'sdflvUrl': '', 'srcUrl': 'https://video.pearvideo.com/mp4/third/20210622/1624749907857-11980839-103436-hd.mp4'}}}
PS D:\wp>
''' linkais 发表于 2021-6-26 22:11
对阿
对啊,根据这个https://page.pearvideo.com/webres/v4/js/mainVideo.js?v=4.86,
data: "contId=" + contId + "&mrd=" + Math.random()
自己构造随机数不就行了吗 wp231957 发表于 2021-6-27 07:26
这样可以拿到,但是 我发现里面的mp4不可下载啊 不知道咋回事
https://video.pearvideo.com/mp4/third/20210622/cont-1732855-11980839-103436-hd.mp4 #这是网页中检查元素得到的播放地址(可下载)
https://video.pearvideo.com/mp4/third/20210622/1624779505930-11980839-103436-hd.mp4 #这是从https://www.pearvideo.com/videoStatus.jsp?contId=xxxxxxxxx得到的地址(无法访问)
观察发现能够播放的地址将1624779505930(时间戳)换成了cont-1732855(contId) 南归 发表于 2021-6-27 15:43
对 是这样的 南归 发表于 2021-6-27 15:24
对啊,根据这个https://page.pearvideo.com/webres/v4/js/mainVideo.js?v=4.86,
自己构造随机数不就行 ...
我之前用random一个个去试 结果ip给封了{:10_277:} linkais 发表于 2021-6-27 18:59
我之前用random一个个去试 结果ip给封了
那是爬取过快的问题了,又不是构造出错... 南归 发表于 2021-6-27 19:08
那是爬取过快的问题了,又不是构造出错...
懂了懂了 原来是因为headers少了几个参数导致怎么匹配也匹配不了
页:
[1]