目标网址:梨视频
然后我们找到科技这一页:https://www.pearvideo.com/category_8。其实你要哪一页都行,你喜欢就行。嘿嘿…
这是动态网站,所以咱们直奔network 然后去到XHR:
找规律,这个应该不难,我就直接贴网址上来咯,想要锻炼的可以找找看哈:
https://www.pearvideo.com/category_loading.jsp?reqType=5&categoryId=8&start=0
这个就是我们要找的目标网址啦,后面的0就代表页数,让打开这个网页发现是静态网页,这最好搞啦,直接上:
代码如下:
import requests import parsel,re import os target = "https://www.pearvideo.com/videoStatus.jsp?contId=" url = "https://www.pearvideo.com/category_loading.jsp?reqType=5&categoryId=9&start=0" res = requests.get(url) res.encoding="utf-8" html = parsel.Selector(res.text) lists = html.xpath('/html/body/li/div/a/@href').getall() for each in lists: print("https://www.pearvideo.com/"+each)
output;
https://www.pearvideo.com/video_1703486
https://www.pearvideo.com/video_1703189
https://www.pearvideo.com/video_1703161
https://www.pearvideo.com/video_1702880
https://www.pearvideo.com/video_1702773
...
顺利拿到,然后进入播放页面,却发现找不到MP4视频,怎么办?经过我一番努力(扯掉了几十根头发后)发现,它在另外一个网址里面
咋办?当然要想办法把这个网址搞到手啦,仔细分析下,发现这个网址非常陌生呀,唯一稍微熟悉点的就是那串数字了,前面我们拿到播放页的网址后面那串数字和这个对比,完全是一模一样的,这样的话那就好搞了,咱们直接用拼接的方式把它接上去就可以了,看代码:
for each in lists: url_num = each.replace('video_',"") urls = target+url_num print(urls) `` ```python output: https://www.pearvideo.com/videoStatus.jsp?contId=1703486 https://www.pearvideo.com/videoStatus.jsp?contId=1703189 https://www.pearvideo.com/videoStatus.jsp?contId=1703161 https://www.pearvideo.com/videoStatus.jsp?contId=1702880 https://www.pearvideo.com/videoStatus.jsp?contId=1702773 https://www.pearvideo.com/videoStatus.jsp?contId=1702633 ...
出来了,好像稍微有点不一样,后面那啥&mrd=***************** 没有,怎么办?没有就不要呗,看过我发的百度图片那篇的朋友都懂,网址里面有些东西是不需要的,纯粹是搞咱们这些玩爬虫的,恶心咱们。不过没办法,毕竟是咱们要去爬人家的数据的。
网址问题解决了,但是点进去一看,发现这东东:
恩,很明显,是遇到反爬机制了,这个好搞,要什么给什么就行,代码如下:
headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.111 Safari/537.36', 'Referer': 'https://www.pearvideo.com/video_'+ str(url_num) } html = requests.get(urls,headers=headers).text print(html)
搞定!!
最后我们看一下MP4能不能播放:
西八!404!!恩,这里就稍微有点麻烦了,还得找数据,把里面的时间戳改成 ‘cont-数字‘,感觉写了好多,手都有点累了,我就直接上代码了:
import requests import parsel,re import os target = "https://www.pearvideo.com/videoStatus.jsp?contId=" url = "https://www.pearvideo.com/category_loading.jsp?reqType=5&categoryId=9&start=0" res = requests.get(url) res.encoding="utf-8" html = parsel.Selector(res.text) lists = html.xpath('/html/body/li/div/a/@href').getall() # print(lists[2:]) # 提取视频后面的数字,数字是最重要的,需要传给 Referer 和 urls for each in lists: url_num = each.replace('video_',"") urls = target+url_num # print(urls) headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.111 Safari/537.36', 'Referer': 'https://www.pearvideo.com/video_'+ str(url_num) } html = requests.get(urls,headers=headers).text cont = 'cont-' + str(url_num) # 提取 mp4 视频 srcUrl = re.findall(f'"srcUrl":"(.*?)"',html)[0] # 替换视频里面的时间戳,改为可以真正播放的数据 new_url = srcUrl.replace(srcUrl.split("-")[0].split("/")[-1],cont) print(new_url) # 使用视频后缀当视频名称 filename = srcUrl.split("/")[-1] # 保存到本地 with open("./images/"+filename,"wb") as f: f.write(requests.get(new_url).content)
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。
本文向大家介绍python爬虫线程池案例详解(梨视频短视频爬取),包括了python爬虫线程池案例详解(梨视频短视频爬取)的使用技巧和注意事项,需要的朋友参考一下 python爬虫-梨视频短视频爬取(线程池) 示例代码 知识点扩展: Python爬虫下载视频(梨视频) 梨视频示例:Ctrl+Alt+L格式化代码 到此这篇关于python爬虫线程池案例详解(梨视频短视频爬取)的文章就介绍到这了,更多
本文向大家介绍Python爬虫爬取博客实现可视化过程解析,包括了Python爬虫爬取博客实现可视化过程解析的使用技巧和注意事项,需要的朋友参考一下 源码: 爬虫不是重点,只是拿来爬阅读数量,pyecharts是重点 这次爬的是我自己的博客,一共10页,每页10片文章,正好写了100篇博客 pyecharts安装: pip install wheelpip install pyecharts==0.
本文向大家介绍Python爬取视频(其实是一篇福利)过程解析,包括了Python爬取视频(其实是一篇福利)过程解析的使用技巧和注意事项,需要的朋友参考一下 窗外下着小雨,作为单身程序员的我逛着逛着发现一篇好东西,来自知乎 你都用 Python 来做什么?的第一个高亮答案。 到上面去看了看,地址都是明文的,得,赶紧开始吧。 下载流式文件,requests库中请求的stream设为True就可以啦,文
本文向大家介绍Python爬虫 bilibili视频弹幕提取过程详解,包括了Python爬虫 bilibili视频弹幕提取过程详解的使用技巧和注意事项,需要的朋友参考一下 两个重要点 1.获取弹幕的url是以 .xml 结尾 2.弹幕url的所需参数在视频url响应的 javascript 中 先看代码 先找到弹幕的url,以.xml结尾,所以先找到这串数字所在的位置,并获取这串数字发起第二次请求
本文向大家介绍基于python实现的抓取腾讯视频所有电影的爬虫,包括了基于python实现的抓取腾讯视频所有电影的爬虫的使用技巧和注意事项,需要的朋友参考一下 我搜集了国内10几个电影网站的数据,里面近几十W条记录,用文本没法存,mongodb学习成本非常低,安装、下载、运行起来不会花你5分钟时间。
本文向大家介绍基于Python爬取fofa网页端数据过程解析,包括了基于Python爬取fofa网页端数据过程解析的使用技巧和注意事项,需要的朋友参考一下 FOFA-网络空间安全搜索引擎是网络空间资产检索系统(FOFA)是世界上数据覆盖更完整的IT设备搜索引擎,拥有全球联网IT设备更全的DNA信息。探索全球互联网的资产信息,进行资产及漏洞影响范围分析、应用分布统计、应用流行度态势感知等。 安装环境