“微信运动”能够向朋友分享一个包含有运动数据的网页,网页中就有我们需要的数据。url类似于:http://hw.weixin.qq.com/steprank/step/personal?openid=用户的openid,其中有用于对于微信运动的唯一openid,打开fiddler进行抓包,首先打开fiddler,然后打开微信运动点击我的主页,如下:
微信通过请求头区分是否是通过微信浏览器进行的请求,如果用浏览器直接打开链接会出现如下错误提示,说明不是通过微信浏览器打开被微信拦截了:
通过Fiddler的抓包数据我们可以通过伪造Request Headers请求头抓取数据
Fiddler抓包显示:
通过postman伪造请求头模拟微信浏览器。伪造请求头后成功在浏览器中得到了对应的网页内容:
Python实现代码:
import requests
import re
import json
class WechatSprot(object):
def __init__(self, openid):
self.openid = openid
def getInfo(self):
url = "http://hw.weixin.qq.com/steprank/step/personal