Python爬取梨视频的示例
爬取流程(美食区最热标签下的三个视频)
- 在首页获取视频的编号和名字
- 拼接成正确的url
- 保存视频
思路
1.从网页中获取视频的url
发现视频的url在id为“jprismplayer”的div标签下的video标签src属性中,xpath解析网页
但得到的返回值为空,也就是说这个video标签在原网页中并不存在,很可能是动态加载出来的
2. 从动态请求获取视频的url
果然在动态请求中发现了包含视频url的json数据
可是发起请求后拿到的json数据却和抓包工具中看到的不一样,试着在请求头中加入referer参数,查看referer可以发现,它最后video_后面跟的是首页中视频的编号
在headers中加入referer后顺利拿到json数据
可向json数据中的视频url发起请求拿到的却是404页面
3. 拼接正确的url
这里花了很长时间去想哪里有问题,把前面的步骤理了很多遍才发现,其实动态请求返回的json数据中的视频url和主页video标签中的视频url根本不一致
首页中加载出来的视频链接是正确的,可以顺利的拿到视频,而json数据中的链接则会返回404。把他们进行对比,可以看到他们前半部分是一样的,但到了红线框住的地方就不一样了。
正确的url是 cont-视频id-
而json数据中的url这个部分是 一串数字
那只要把这一串数字改成 cont-视频id- 的形式就能获得正确的视频url了
代码
总结
其实最难的地方是获取正确的视频url,中间过程比较绕。只要找到这个地址,再加上从首页拿到的视频id就可以顺利拿到视频了。
如果要爬取整个首页视频只需要重新设置xpath路径就可以了。
以上就是python爬取梨视频的示例的详细内容,更多关于python爬取梨视频的资料请关注其它相关文章!
上一篇: 在Bash脚本中引入alias的方法
下一篇: 详解Pymongo常用查询方法总结