电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

Python爬取梨視頻的示例

瀏覽:85日期:2022-06-28 18:36:07
爬取流程(美食區最熱標簽下的三個視頻) 在首頁獲取視頻的編號和名字 拼接成正確的url 保存視頻 思路1.從網頁中獲取視頻的url

Python爬取梨視頻的示例

發現視頻的url在id為“JprismPlayer”的div標簽下的video標簽src屬性中,xpath解析網頁

video_url = tree.xpath('//div[@id=’JprismPlayer’]/video/@src')

但得到的返回值為空,也就是說這個video標簽在原網頁中并不存在,很可能是動態加載出來的

2. 從動態請求獲取視頻的url

Python爬取梨視頻的示例

果然在動態請求中發現了包含視頻url的json數據

Python爬取梨視頻的示例

可是發起請求后拿到的json數據卻和抓包工具中看到的不一樣,試著在請求頭中加入Referer參數,查看referer可以發現,它最后video_后面跟的是首頁中視頻的編號

Python爬取梨視頻的示例

{'resultCode':'1','resultMsg':'success', 'reqId':'fd1c910d-f49a-431a-b9a4-9c193c3c1983','systemTime': '1611666178518','videoInfo':{'playSta':'1','video_image':'https://image1.pearvideo.com/cont/20210125/11107897-184717-1.png','videos':{'hdUrl':'','hdflvUrl':'','sdUrl':'','sdflvUrl':'','srcUrl':'https://video.pearvideo.com/mp4/third/20210125/1611666178518-11107897-181816-hd.mp4'}}}

在headers中加入Referer后順利拿到json數據

Python爬取梨視頻的示例

可向json數據中的視頻url發起請求拿到的卻是404頁面

3. 拼接正確的url

這里花了很長時間去想哪里有問題,把前面的步驟理了很多遍才發現,其實動態請求返回的json數據中的視頻url和主頁video標簽中的視頻url根本不一致

Python爬取梨視頻的示例

首頁中加載出來的視頻鏈接是正確的,可以順利的拿到視頻,而json數據中的鏈接則會返回404。把他們進行對比,可以看到他們前半部分是一樣的,但到了紅線框住的地方就不一樣了。正確的url是 cont-視頻id-而json數據中的url這個部分是 一串數字那只要把這一串數字改成 cont-視頻id- 的形式就能獲得正確的視頻url了

代碼

# 爬取梨視頻import requestsfrom lxml import etreeimport osfrom multiprocessing import Pool# 梨視頻首頁urlurl = 'https://www.pearvideo.com/category_6'headers = {’User-Agent’: ’Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.104 Safari/537.36’ }# 獲取響應,并用etree解析response = requests.get(url=url, headers=headers).texttree = etree.HTML(response)# 拿到視頻的名字和視頻號video_id_list = tree.xpath('//ul[@class=’listvideo-list clearfix’]/li[@class=’categoryem ’]//a[@class=’vervideo-lilink actplay’]/@href')video_name_list = tree.xpath('//ul[@class=’listvideo-list clearfix’]/li[@class=’categoryem ’]//a/div[@class=’vervideo-title’]/text()')data_list = [{'name': video_name_list[i], 'idNum': video_id_list[i][6:]} for i in range(len(video_name_list))]# 創建一個存放視頻的文件夾if not os.path.exists('./videos'): os.mkdir('./videos')# 獲取視頻的函數def down_video(data): name = data[’name’] idNum = data[’idNum’] # 獲取視頻需要的headers,注意這里的Referer要和視頻的id匹配 headers = { ’User-Agent’: ’Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.104 Safari/537.36’, ’Referer’: f’https://www.pearvideo.com/video_{idNum}’ } # 獲取接近真正視頻url的url,這里的id也需要和視頻id匹配才行 url = f’https://www.pearvideo.com/videoStatus.jsp?contId={idNum}’ # 得到包含視頻地址json響應數據 response = requests.get(url=url, headers=headers).json() video_url = response['videoInfo']['videos']['srcUrl'] # 將視頻地址中的數字替換成 cont-視頻編號 拿到真正的視頻地址 video_url = video_url.replace(video_url.split('/')[-1].split('-')[0], 'cont-' + idNum) # 拿到視頻并保存 video = requests.get(url=video_url, headers=headers).content with open(f'./videos/{name}.mp4', 'wb') as f: print(f'正在下載視頻 {name} ...') f.write(video) print(f'視頻 {name} 下載完成!')if __name__ == ’__main__’: # 創建進程池并使用 pool = Pool(3) pool.map(down_video, data_list) pool.close() pool.join()總結

其實最難的地方是獲取正確的視頻url,中間過程比較繞。只要找到這個地址,再加上從首頁拿到的視頻id就可以順利拿到視頻了。如果要爬取整個首頁視頻只需要重新設置xpath路徑就可以了。

以上就是Python爬取梨視頻的示例的詳細內容,更多關于Python爬取梨視頻的資料請關注好吧啦網其它相關文章!

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 桌上式超净工作台-水平送风超净工作台-上海康路仪器设备有限公司 | 济南玻璃安装_济南玻璃门_济南感应门_济南玻璃隔断_济南玻璃门维修_济南镜片安装_济南肯德基门_济南高隔间-济南凯轩鹏宇玻璃有限公司 | 扬子叉车厂家_升降平台_电动搬运车|堆高车-扬子仓储叉车官网 | 深圳市简易检测技术有限公司| 六维力传感器_六分量力传感器_模腔压力传感器-南京数智微传感科技有限公司 | 机房监控|动环监控|动力环境监控系统方案产品定制厂家 - 迈世OMARA | 东莞螺杆空压机_永磁变频空压机_节能空压机_空压机工厂批发_深圳螺杆空压机_广州螺杆空压机_东莞空压机_空压机批发_东莞空压机工厂批发_东莞市文颖设备科技有限公司 | 混合气体腐蚀试验箱_盐雾/硫化氢/气体腐蚀试验箱厂家-北京中科博达 | 智能终端_RTU_dcm_北斗星空自动化科技| 冷镦机-多工位冷镦机-高速冷镦机厂家-温州金诺机械设备制造有限公司 | 低噪声电流前置放大器-SR570电流前置放大器-深圳市嘉士达精密仪器有限公司 | 注塑机-压铸机-塑料注塑机-卧式注塑机-高速注塑机-单缸注塑机厂家-广东联升精密智能装备科技有限公司 | 电镀电源整流器_高频电解电源_单脉双脉冲电源 - 东阳市旭东电子科技 | 安徽成考网-安徽成人高考网 | 承插管件_不锈钢承插管件_锻钢高压管件-温州科正阀门管件有限公司 | 宿松新闻网 宿松网|宿松在线|宿松门户|安徽宿松(直管县)|宿松新闻综合网站|宿松官方新闻发布 | 昆明网络公司|云南网络公司|昆明网站建设公司|昆明网页设计|云南网站制作|新媒体运营公司|APP开发|小程序研发|尽在昆明奥远科技有限公司 | BAUER减速机|ROSSI-MERSEN熔断器-APTECH调压阀-上海爱泽工业设备有限公司 | 棉服定制/厂家/公司_棉袄订做/价格/费用-北京圣达信棉服 | 方源木业官网-四川木门-全国木门专业品牌 | 水厂污泥地磅|污泥处理地磅厂家|地磅无人值守称重系统升级改造|地磅自动称重系统维修-河南成辉电子科技有限公司 | 超声波焊接机_超音波熔接机_超声波塑焊机十大品牌_塑料超声波焊接设备厂家 | 聚天冬氨酸,亚氨基二琥珀酸四钠,PASP,IDS - 远联化工 | 防锈油-助焊剂-光学玻璃清洗剂-贝塔防锈油生产厂家 | NBA直播_NBA直播免费观看直播在线_NBA直播免费高清无插件在线观看-24直播网 | 医养体检包_公卫随访箱_慢病随访包_家签随访包_随访一体机-济南易享医疗科技有限公司 | 山东PE给水管厂家,山东双壁波纹管,山东钢带增强波纹管,山东PE穿线管,山东PE农田灌溉管,山东MPP电力保护套管-山东德诺塑业有限公司 | 冻干机(冷冻干燥机)_小型|实验型|食品真空冷冻干燥机-松源 | 智能楼宇-楼宇自控系统-楼宇智能化-楼宇自动化-三水智能化 | 东莞工厂厂房装修_无尘车间施工_钢结构工程安装-广东集景建筑装饰设计工程有限公司 | 外观设计_设备外观设计_外观设计公司_产品外观设计_机械设备外观设计_东莞工业设计公司-意品深蓝 | 生物风-销售载体,基因,质粒,ATCC细胞,ATCC菌株等,欢迎购买-百风生物 | 广州展台特装搭建商|特装展位设计搭建|展会特装搭建|特装展台制作设计|展览特装公司 | 热工多功能信号校验仪-热电阻热电偶校验仿真仪-金湖虹润仪表 | 烟台游艇培训,威海游艇培训-烟台市邮轮游艇行业协会 | 广东教师资格网-广东教师资格证考试网 | 传爱自考网_传爱自学考试网| 硬齿面减速机_厂家-山东安吉富传动设备股份有限公司 | 玻璃钢型材-玻璃钢风管-玻璃钢管道,生产厂家-[江苏欧升玻璃钢制造有限公司] | 展厅设计-展馆设计-专业企业展厅展馆设计公司-昆明华文创意 | 上海租奔驰_上海租商务车_上海租车网-矢昂汽车服务公司 |