zoukankan      html  css  js  c++  java
  • 抓取六房间小姐姐小视频

    六房间地址:https://www.6.cn/

    方式一:通过浏览器自带开发工具进行查看抓取

    1、打开浏览器。进入六房间网页,点击小视频。F12打开开发工具,打开Network,刷新网页后,可以看到,在Network—>Headers中可以查看到请求的URL。

     2、在Network—>Preview中可以查看到url请求到JSON文件。

     还可以通过把URL地址:https://v.6.cn/minivideo/getlist.php?act=recommend&page=1&pagesize=20 新打开一个浏览器页面进行查看。可以看到获得的数据是为json数据。

     

     3、在获得URL和json数据后,我们就可以编写代码进行小视频的爬取了。

    import requests
    
    def Video_URL():
    	'''请求url地址,得到网页数据,并且进行网页数据的提取(json)'''
    	url="https://v.6.cn/minivideo/getlist.php?act=recommend&page=1&pagesize=20"
    	response=requests.get(url).json()
    	print(response)
    
    	#获取每个小视频的标题和播放URl
    	data=response['content']['list']
    	for i in data:
    		title=i['title']
    		palyur=i['playurl']
    		Video_Downloads(title,palyur)
    
    def Video_Downloads(title,palyurl):
    	response=requests.get(palyurl)
    	#在py执行文件同路径下,建一个video的文件夹,用于存放小视频文件。文件保存 a 文件追加 进制文件读写
    	with open('video/{}.mp4'.format(title),'ab')as f:
    		f.write(response.content)
    		print('正在下载{}……'.format(title))
    
    Video_URL()
    

      以上代码是获取一页的小视频的代码,调整修改下可获取多页小视频:

    import requests
    
    def Video_URL(page):
    	'''请求url地址,得到网页数据,并且进行网页数据的提取(json)'''
    	url="https://v.6.cn/minivideo/getlist.php?act=recommend&page={}&pagesize=20".format(page)
    	response=requests.get(url).json()
    	print(response)
    
    	#获取每个小视频的标题和播放URl
    	data=response['content']['list']
    	for i in data:
    		title=i['title']
    		palyur=i['playurl']
    		Video_Downloads(title,palyur)
    
    def Video_Downloads(title,palyurl):
    	response=requests.get(palyurl)
    	#在py执行文件同路径下,建一个video的文件夹,用于存放小视频文件。文件保存 a 文件追加 进制文件读写
    	with open('video/{}.mp4'.format(title),'ab')as f:
    		f.write(response.content)
    		print('正在下载{}……'.format(title))
    
    for page in range(1,20):
    '''获取多页小视频'''
    	Video_URL(page)
    

      

     方式二:通过抓包工具Fiddler来进行抓包分析获取url和json数据。

    1、下载fiddler工具包。

    官网下载https://www.telerik.com/download/fiddler(版本为英文版 fidder4) 
    汉化版下载:http://soft.huweishen.com/soft/302.html(直接是一个安装包,解压就可以用) 

    腾讯软件下载地址:https://pc.qq.com/detail/10/detail_3330.html

    fiddler配置:(因为涉及ssl)

    Tools—>"options",

      

    https设置:

    勾选后需要安装安全证书,如果是win 7中不会提示安装安全证书,会报错:creation of the root certificate was not successful

    解决办法参考:fiddler报错:creation of the root certificate was not successful 证书安装不成功

      

    connections设置:监听端口

    将Fiddler listens on port设为8888,勾选Allow remote computers to connect

     代理设置完成,重启Fiddler配置生效。

     2、通过夜神模拟器来进行抓包分析。

    夜神模拟器下载:https://www.yeshen.com/ 

     安装后夜神模拟器配置:

    ①开启root权限

    ②设置代理

     

     鼠标左键长按,打开修改网络

     

    代理选择“手动”,代理服务器主机名填写电脑的ip就行了(windows系统可用ipconfig查看),端口注意和fiddler·设置的端口号保持一致。

     

     ③给夜神模拟器安装https证书

     打开浏览器

     在地址栏输入:http://ip地址:端口。点击进行下载。

     点击下载进行安装。出现

     凭证 用途如果两个都不知道怎么使用的话,那么就都安装。

    在fiddler和夜神模拟器配置好的情况下就可以进行抓取数据。例如

     抓取到的url地址为:https://v.6.cn/coop/mobile/index.php?act=recommend&padapi=minivideo-getlist.php&page=1

    把该地址在浏览器中打开,可以看到是为json的数据格式:

     python代码如下:

    import requests
    
    def Video_URL(page):
    	'''请求url地址,得到网页数据,并且进行网页数据的提取(json)'''
    	url="https://v.6.cn/coop/mobile/index.php?act=recommend&padapi=minivideo-getlist.php&page={}".format(page)
    	response=requests.get(url).json()
    	print(response)
    
    	#获取每个小视频的标题和播放URl
    	data=response['content']['list']
    	for i in data:
    		title=i['title']
    		palyur=i['playurl']
    		Video_Downloads(title,palyur)
    
    def Video_Downloads(title,palyurl):
    	response=requests.get(palyurl)
    	#在py执行文件同路径下,建一个video的文件夹,用于存放小视频文件。文件保存 a 文件追加 进制文件读写
    	with open('video/{}.mp4'.format(title),'ab')as f:
    		f.write(response.content)
    		print('正在下载{}……'.format(title))
    
    for page in range(1,20):
    	Video_URL(page)
    
  • 相关阅读:
    js上传文件
    IOS怎么实现一个UITableView的下拉刷新
    Android的事件处理-android学习之旅(四十四)
    NIO框架之MINA源代码解析(二):mina核心引擎
    每日五题
    Joda-Time 简介
    用websocket实现后台推送消息
    websoclet简单示例 my 改
    struts2拦截器interceptor的配置方法及使用
    activiti复盘重推的一种简单实现方式:
  • 原文地址:https://www.cnblogs.com/benpao1314/p/12050327.html
Copyright © 2011-2022 走看看