利用fiddler抓包爬取微信小程序数据 - 新闻资讯 - 云南小程序开发|云南软件开发|云南网站建设-昆明葵宇信息科技有限公司

159-8711-8523

云南网建设/小程序开发/软件开发

知识

不管是网站,软件还是小程序,都要直接或间接能为您产生价值,我们在追求其视觉表现的同时,更侧重于功能的便捷,营销的便利,运营的高效,让网站成为营销工具,让软件能切实提升企业内部管理水平和效率。优秀的程序为后期升级提供便捷的支持!

您当前位置>首页 » 新闻资讯 » 小程序相关 >

利用fiddler抓包爬取微信小程序数据

发表时间:2020-10-14

发布人:葵宇科技

浏览次数:184

利用fiddler抓包爬取微信小程序数据

1.背景原理

有些微信小程序无法在PC端进行访问
在这里插入图片描述
原因
判断非微信‘内嵌浏览器’,则禁止访问
在这里插入图片描述
解决方法
模拟微信‘内嵌浏览器’进行访问,需要获取的数据有:User-Agent,以及登录信息cookie

2.Fiddler获取cookie和User-Agent

原理:Fiddler作为代理,手机端向服务器发送请求的时候,先发送到代理端Fiddler,然后代理端再将请求发送给服务器,返回的数据也是先返回到代理。

  • 步骤1:手机端和电脑端通信,连接同一个局域网
  • 步骤2:手机端连接代理,在手机wifi连接处填写电脑的ip以及Fiddler的端口号
  • 步骤3:手机端连接http://电脑ip:端口号 获取证书并安装
  • 步骤4:手机打开小程序就可抓取U-A和Cookie

-使用:使用Filddler获取cookie和User-Agent

3.愉快的下载数据

import re
import requests
import time
import json
import pandas as pd

headers={
    'User-Agent': '你的User-Agent', #都可通过finddler转包获取
    'Cookie': '你的cookie'
}#请求头信息,这里cookie信息必须添加,否则得不到网页信息

list = []
for i in range(1,10):
    locationDataUrl = 'https://dzgj.yuyuebus.com/out/confirmListNew?page=' + str(i)
    response = requests.get(locationDataUrl,headers=headers)#得到响应内容
    html = response.text#得到网页的文本形式
    data = json.loads(html).get('data').get('list') # json解析

    for j in range(len(data)):

        id = data[j]['id'] #获取数据的id
        timeUrl = 'https://dzgj.yuyuebus.com/Customization/customizationDetailNew?id='+str(id) #得到用于获取时间的url
        responseTime = requests.get(timeUrl,headers=headers)
        htmlTime = responseTime.text
        dataTime = json.loads(htmlTime).get('data').get('detail')
        # 存列表输出csv
        list.append(dataTime)

pd.DataFrame(list).to_csv('定制公交.csv',encoding='utf_8_sig')

相关案例查看更多