鱼C论坛

 找回密码
 立即注册
查看: 2226|回复: 16

[已解决]如何取得' 梨视频中的视频地址‘’?

[复制链接]
发表于 2020-10-26 00:15:15 | 显示全部楼层 |阅读模式

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

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

x
小白如果有满意的答案,一定会及时结帖的,恳请路过的大佬、大神们帮助。

我的目标是要爬取:梨视频中-生活-最热中的4个视频。这个只是练习用。--我正在学习的爬虫教程视频,老师讲解的代码已经挂掉了,所以我只好自己写。

以下是我的分析:

1. 点开 其中一个这个梨视频的《超好听!中国老人演绎拉美歌曲》的网址进行分析和观察
https://www.pearvideo.com/video_1703247

(1)打开检查,抓包,定位到video_1703247,这个数据包的response并没有这个视频真正的地址,由此判断,这个视频地址是动态加载。
(2)点击XHR,发现一个ajax请求,response里面貌似包含 视频地址。请问以下蓝色的URL这个是不是真正的视频地址呢?

{
        "resultCode":"1",
        "resultMsg":"success", "reqId":"913ffda9-383e-4665-b927-8ac0b18ea488",
        "systemTime": "1603642230586",
        "videoInfo":{"playSta":"1","video_image":"https://image.pearvideo.com/cont/20201023/10008579-151234-1.png","videos":{"hdUrl":"","hdflvUrl":"","sdUrl":"","sdflvUrl":"","srcUrl":"https://video.pearvideo.com/mp4/third/20201023/1603642230586-10008579-151057-hd.mp4"}}
}


下面是我的代码,可是我爬下来,结果却没有这个视频地址,是我的代码写错了吗?


  1. import requests
  2. from lxml import etree
  3. headers = {
  4.       'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36'
  5. }
  6. url = 'https://www.pearvideo.com/category_5'
  7. page_text = requests.get(url=url, headers=headers).text
  8. tree = etree.HTML(page_text)
  9. #li_list = tree.xpath('//div[@id="listvideo-list clearfix"/ul/li]')
  10. li_list = tree.xpath('//ul[@id="listvideoListUl"]/li')

  11. for li in li_list:
  12.     detail_url = 'https://www.pearvideo.com/'+ li.xpath('./div/a/@href')[0]
  13.     name = li.xpath('./div/a/div[2]/text()')[0] + '.mp4'
  14.     id = li.xpath('./div/a/@href')[0].split('_')[1]
  15.     #print(detail_url, name,id)
  16.     #https://www.pearvideo.com/videoStatus.jsp?contId=1703247&mrd=0.9360606488589007
  17.     ajax_url = 'https://www.pearvideo.com/videoStatus.jsp'
  18.     params = {
  19.         'contId': id,
  20.         'mrd': '0.9360606488589007'
  21.     }
  22.     ajax_page_text = requests.get(url=ajax_url, headers=headers, params=params).json()
  23.     print( ajax_page_text)

复制代码
最佳答案
2020-10-26 13:35:35
青松100 发表于 2020-10-26 11:48
非常感谢,找到了。我下午再研究一下,可能会有后续的问题,希望到时您能再次帮助。

把 Referer 加进去就能找到mp4了
1603690431(1).jpg
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-10-26 09:03:42 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-10-26 09:08:24 | 显示全部楼层
本帖最后由 青松100 于 2020-10-26 09:09 编辑


非常谢谢大神的帮助。

那能不能教我,这个地址是咋找出来的呢?

我在1楼中的地址和您找到地址相比较,发现很接近,但是其中有个别参数不一样。

我现在只学到正则,XPATH, BS4

还没学到高级的,能不能先用初级的知识教我,不要用selenium之类的。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-10-26 09:10:25 | 显示全部楼层
wp231957 发表于 2020-10-26 09:03
https://video.pearvideo.com/mp4/third/20201023/cont-1703247-10008579-151057-hd.mp4

这个是真实地址

万分感谢大神。

能不能教我咋找出视频地址?

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-26 09:21:38 | 显示全部楼层
青松100 发表于 2020-10-26 09:10
万分感谢大神。

能不能教我咋找出视频地址?

没太细研究这个网站,有个别的视频  就是你一楼的地址  个别视频就是拼接的地址
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-10-26 09:21:38 | 显示全部楼层
我还有一个问题,为啥1楼中我的代码,爬出来的不是 1楼中的那些字典(response 响应数据),而是:如下:

{'resultCode': '5', 'resultMsg': '该文章已经下线!', 'systemTime': '1603675273247'}
{'resultCode': '5', 'resultMsg': '该文章已经下线!', 'systemTime': '1603675273599'}
{'resultCode': '5', 'resultMsg': '该文章已经下线!', 'systemTime': '1603675273906'}
{'resultCode': '5', 'resultMsg': '该文章已经下线!', 'systemTime': '1603675274223'}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-10-26 09:26:52 | 显示全部楼层
本帖最后由 青松100 于 2020-10-26 09:27 编辑
wp231957 发表于 2020-10-26 09:21
没太细研究这个网站,有个别的视频  就是你一楼的地址  个别视频就是拼接的地址


我没看懂您是啥意思。

我的目的,不是要您给我某个视频的真实地址。--这个只是练习用的,我随便找来的一个视频。我的目的是要学会得到这个视频的地址的方法。

我现在只学会了XPATH, BS4,正则的基本语法,还没学到SELENIUM。要是可以的话,等您有空,麻烦您到时给分析一下,用这些基本的方法,教教我吧?(不要太高级的爬虫方法,我现在正在学某爬虫教程,还没学到那么深。)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-26 10:11:41 | 显示全部楼层
青松100 发表于 2020-10-26 09:26
我没看懂您是啥意思。

我的目的,不是要您给我某个视频的真实地址。--这个只是练习用的,我随便找 ...

研究方向出现错误,爬虫问题 的难点并不是xpath  bs4 正则什么的,这些都是浮云

真正的难点  是  如何获取我们想要的东东,也就是分析网站(网页)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-26 11:14:20 | 显示全部楼层
浏览器的F12点击XHR是找到了你说的ajax
但是F12的媒体里面就有视频源地址
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2020-10-26 11:48:13 | 显示全部楼层
kogawananari 发表于 2020-10-26 11:14
浏览器的F12点击XHR是找到了你说的ajax
但是F12的媒体里面就有视频源地址

非常感谢,找到了。我下午再研究一下,可能会有后续的问题,希望到时您能再次帮助。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-26 13:35:35 | 显示全部楼层    本楼为最佳答案   
青松100 发表于 2020-10-26 11:48
非常感谢,找到了。我下午再研究一下,可能会有后续的问题,希望到时您能再次帮助。

把 Referer 加进去就能找到mp4了
1603690431(1).jpg
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-10-26 14:13:27 | 显示全部楼层
jtxs0000 发表于 2020-10-26 13:35
把 Referer 加进去就能找到mp4了

大神,咋加啊?

另外,为啥你可以完整得到AJAX的数据包的响应,为啥我1楼的代码,输出来的却是:


{'resultCode': '5', 'resultMsg': '该文章已经下线!', 'systemTime': '1603675273247'}
{'resultCode': '5', 'resultMsg': '该文章已经下线!', 'systemTime': '1603675273599'}
{'resultCode': '5', 'resultMsg': '该文章已经下线!', 'systemTime': '1603675273906'}
{'resultCode': '5', 'resultMsg': '该文章已经下线!', 'systemTime': '1603675274223'}

麻烦说详细一点,小白没有基础。谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-26 14:19:09 | 显示全部楼层
青松100 发表于 2020-10-26 14:13
大神,咋加啊?

另外,为啥你可以完整得到AJAX的数据包的响应,为啥我1楼的代码,输出来的却是:

请求头你肯定会吧,里面再加上Referer

1603693026(1).jpg

最终效果

1603693056(1).jpg
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-10-26 14:48:48 | 显示全部楼层
本帖最后由 青松100 于 2020-10-27 05:44 编辑
jtxs0000 发表于 2020-10-26 14:19
请求头你肯定会吧,里面再加上Referer


能加你吗? 

这里发个链接也要审核,所以,请版主大大和各位网友见谅。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-26 15:11:28 | 显示全部楼层
本帖最后由 jtxs0000 于 2020-10-27 10:38 编辑
青松100 发表于 2020-10-26 14:48
能加你吗?

这里发个链接也要审核,所以,请版主大大和各位网友见谅。


加了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-10-26 15:38:17 | 显示全部楼层

我没看到您呀?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-11-19 18:17:07 | 显示全部楼层
本帖最后由 466337418 于 2020-11-19 18:30 编辑

楼主,我也是跟你一样的问题,我加了referer还是获取不了,ajax数据还是有问题,可否解答一下啊

已经处理好了,是param参数的顺序位置影响
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-22 07:09

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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