谁说app的视频抓取不了的?用Python爬取整个app视频

前言

随着手app的发展逐渐强大,我们手机应用每天的生活也是非常的多。那我们怎么知道他的数据是怎么形成的,通过电脑端如何爬取。相信大家也有这样的问题。下面我将讲解这些操作流程。

一、操作流程

首先我们要有

  • fidder4
  • 夜神模拟器
  • pycharm
  • python3.0或以上版本

二、fidder4抓包

1.fidder配置

首先我们先下载fidder,
打开Fiddler,点击Tools => Options 打开配置选项,切换到第二个标签页HTTPS,先在这里打勾
PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取

python免费学习资料以及群交流解答点击即可加入


然后就是点下面如图所示的单选框,点击Actions,运行第一个Trust Root Certificate。后面会有一个框,记得点击确定。

打开Fiddler,点击Tools => Options… 打开配置选项,切换到第三个标签页Connections,修改如图所示的地方,端口号可任意修改,这里使用我自定的9999,请记住自己设置的端口号,后面有需要使用的地方。

2.模拟器配置

我们为什么使用模拟器,因为由于Fidder抓包,要在局域网环境下,我们大部分电脑都是以宽带连接,所以我这里就以模拟器讲解抓包,后续我会更新一期fidder手机抓包。

这里们先打模拟器,设置模拟器的代理。我们先查看自己的本机IP,通过cmd命令输入ipconfig即可查看本机的ip,我的本机IP是192.168.1.2

这里打开模拟器的设置,找到我们WLAN用点击,我们看到我们的wifi,用鼠标点击时间长一点,它会出现设置的,下面我用视频给大家看一下


我们本机ip进行代理哦

3.模拟器证书安装

我们用模拟器打开浏览器,输入我们本机ip加端口,就是 192.168.1.2:9999


点击这个下载证书,下载完成后安装证书,命名随便命名。密码自己要记入。
上述如果都做成功了,应该就没什么问题了。

三、fidder4解析视频网站


这是我们模拟器里的app,app名字我会在下面评论发出。

这里的所和上面的正好相对应,这里相信我们大家都找到了,
我们可以把fidder抓包到的数据在这里,这个是我们的数据网址
https://v.6.cn/coop/mobile/index.php?act=recommend&padapi=minivideo-getlist.php&page=1
我们通过模拟器视频往下滑,可以知道它是分页的,那样会有好多小姐姐视频哦,
https://v.6.cn/coop/mobile/index.php?act=recommend&padapi=minivideo-getlist.php&page=2
这里就是第二页的数据,这个时候就可以通过pycharm进行解析了。

pycharm编写app代码

import requests
import json
def Demo(page):
    url='https://v.6.cn/coop/mobile/index.php?act=recommend&padapi=minivideo-getlist.php&page={}'.format(page)

    header={
        'User-Agent':'XY0xDgIxDAS)wgtOthPHTn5AQUVFdXLOCRwSdEhX5PGQFmlHo6n22D)bw973lz13W2)XlZe8pKEpEEdBTgmU4ricT3kQENEI04ATJcbg2VsnEcvoVttmTXpq7r)sVToAdNLqmaxF1B6HFigkhXgO(f)rCw@@'
    }

    response = requests.get(url,headers=header,verify=False).json()
    data=response['content']['list']	#由于网站是json数据我们可以通过json解析,然后在进行数据的爬取
    for i in data:
        title =i['title']  #这里爬取的是视频标题
        playurl=i['playurl']	#这里是爬取是的视频的url
        Video(title,playurl)

def Video(title,playurl):
    header = {
        'User-Agent': 'XY0xDgIxDAS)wgtOthPHTn5AQUVFdXLOCRwSdEhX5PGQFmlHo6n22D)bw973lz13W2)XlZe8pKEpEEdBTgmU4ricT3kQENEI04ATJcbg2VsnEcvoVttmTXpq7r)sVToAdNLqmaxF1B6HFigkhXgO(f)rCw@@'
    }
    response = requests.get(playurl,headers=header,verify=False)
    # 文件写入异常机制
    try:
    	#由于写入可以会有点出错,我们要加一个异常处理机制,这样可以提高我们的程序性能。
        with open('VIdeo/{}.mp4'.format(title),'ab') as f:
            f.write(response.content)
    except Exception as e:
        print(e)

for i in range(1,11):
    Demo(i)

总结

以上就是今天要讲的内容,本文简单的对fidder配置与模拟器的证书安装,通过fidder监视app传输的数据进行解析,我们知道此网址有分页功能 ,最后我们通过pycharm编写程序,这些操作看似繁锁,其实看懂了,就很简单。

 

对于爬取京东App的代码,你可以使用第三方库来模拟用户行为进行数据抓取。以下是一个简单的示例代码,使用了Appium和Selenium库来实现: ```python from appium import webdriver from selenium.webdriver.common.by import By # Appium配置参数 desired_caps = { 'platformName': 'Android', 'platformVersion': '10', 'deviceName': 'YOUR_DEVICE_NAME', 'appPackage': 'com.jingdong.app.mall', 'appActivity': '.main.MainActivity', } # 连接Appium Server driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps) # 等待App启动 driver.implicitly_wait(10) # 定位搜索框并输入关键字 search_box = driver.find_element(By.ID, 'com.jd.lib.search:id/search_text') search_box.send_keys('手机') # 点击搜索按钮 search_button = driver.find_element(By.ID, 'com.jd.lib.search:id/search_btn') search_button.click() # 等待搜索结果加载完成 driver.implicitly_wait(10) # 获取商品列表 product_list = driver.find_elements(By.ID, 'com.jd.lib.search:id/product_item') # 遍历商品列表并打印商品名称和价格 for product in product_list: name = product.find_element(By.ID, 'com.jd.lib.search:id/product_name').text price = product.find_element(By.ID, 'com.jd.lib.search:id/product_price').text print(f'商品名称:{name},价格:{price}') # 关闭Appium会话 driver.quit() ``` 请注意,为了运行以上代码,你需要安装并配置Appium环境,以及获取到京东App的包名和Activity名称,并替换到代码中的`'YOUR_DEVICE_NAME'`、`'com.jingdong.app.mall'`和`'.main.MainActivity'`。 此外,需要安装Appium Python客户端库(`appium-python-client`)和Selenium库(`selenium`)。 请确保你在爬取任何网站前了解相关法律法规,并遵守网站的使用条款。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值