-
Notifications
You must be signed in to change notification settings - Fork 0
/
app_data_crawler.py
50 lines (50 loc) · 3.29 KB
/
app_data_crawler.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
'''
爬取app中的数据大致分为三个步骤,一下大致说一下:
1、使用fiddle进行抓包,这一步网上很多教程,要注意的一点是设置完fidddle后,设置手机前需要关掉fiddle再重启
2、使用fiddle进行抓包分析,手机上打开并登陆需要抓取的app,可以在fiddle里设置仅仅抓取远程设备的请求链接
3、分析抓包的请求,获取相应的cookie,然后就可以带cookie进行请求数据了
需要注意的是对于抓包抓到的url如果含有callback标签,则可以直接忽略这一段,很多网址只需要写到跟id有关的部分即可,不需要写全,因为后面都一样
'''
#该简单样例代码主要是模拟上传测试王者荣耀助“小悦”,通过抓包可以无限制的给机器人扔问题并获得回复,也可以同样的办法测试其他类型的机器人,
#以较便捷的方式获得语料,训练自己的问答机器人
import requests
import json
#这是我使用fiddle抓包王者荣耀的cookie,必须带上cookie才能发送请求
cookie={
"tvfe_boss_uuid":"177e1451d9e52904",
"pac_uid":"1_11749****",
"RK":"tqlzG7qvV/",
"pgv_pvi":"9798721536",
"o_cookie":"11749****",
"pgv_pvid":"8031964692",
"ptcz":"6c69dd61debda5d00a4542c6b682f8c282d7f40884a9234b64395301c9cbde59",
"3g_guest_id":"-8805854953739325440",
"ptui_loginuin":"11749****",
"pt2gguin":"o11749****",
"pgv_si":"s2416602112",
"ptisp":"ctc",
"uin":"o11749****",
"skey":"@Q8bKxHGDC",
"xychat_mobile_appid":"wxc4c0253df149f02d",
"xychat_mobile_version":"2.14.54a",
"xychat_mobile_opencode":"b3Nld1IwanE5T1hhdjRCUmU3VEdHejFWX1dodywxMF9TdUhpQnBnaVI5MzBxenk4MFFRN0JqNklMeVV1TFY0SVFSMU90NFp6RmhHeGVwRFlxUXVhb05xUDBjNkxYMm1jVVhXc2pHb2FmeXN5a0QySnNOcC1vc1NPNGZQWXF3bHFWZzA4OFpaZ1g3RSx3eGM0YzAyNTNkZjE0OWYwMmQsMg%3D%3D",
"xychat_source":"xy_games",
"xychat_game_id":"1279",
"xychat_login_type":"msdk",
"xychat_source_id":"1",
"xychat_lumen_role":"a%3A8%3A%7Bs%3A6%3A%22source%22%3Bs%3A8%3A%22xy_games%22%3Bs%3A7%3A%22game_id%22%3Bs%3A4%3A%221279%22%3Bs%3A7%3A%22plat_id%22%3Bi%3A2%3Bs%3A9%3A%22system_id%22%3Bi%3A1%3Bs%3A9%3A%22region_id%22%3Bi%3A1%3Bs%3A7%3A%22area_id%22%3Bi%3A0%3Bs%3A12%3A%22partition_id%22%3Bs%3A1%3A%221%22%3Bs%3A7%3A%22role_id%22%3Bs%3A10%3A%223123612855%22%3B%7D",
"xychat_mobile_encode_params":"3614B38252778E8790AEA4EC068D8BF7FAC763090A023484A1B8C0AB0315808D94DD19A84678AACE94921B1D5FE62D0EC6093191E03A792955D602620FAA53670181CFB5A561B600AE7B218679AC22AB6590595695270D5BD3D8A77A83523E5494B780DEE7EC2CE42EC46B2D14688A3DA949E3905A073E86F1A20BD3BB22642BBEDD232B635A30695493028A683471A9C51F286855E10E15AD760DD410F9BD28CE4FC1755A87F44535A55E61A859701C8AD75EF0C5E0F6E8A5870C84F141D760F42E0D1B84384E7C7A5D18725288D1023E6335F3997DB8FC76B07E8171656F45",
"xychat_mobile_timestamp":"152890****",
"xychat_mobile_sig":"a5cd63a7b547354927e964fd275c1f95",
"pgv_info":"s32902****",
"ssid":"s32902****",
"xychat_init_time":"152****"}
#这是请求url,通过抓包获取
url="https://xyapi.game.qq.com/xiaoyue/service/ask?certificate=\
6b13871a2617ec5f369ade431db729ccccdb3415&question_id=0&question=%E4%B8%AA&robot_type=0&option_type=0&filter=%E4%B8%AA&_=1528908316321"
tmp=requests.get(url=url,cookies=cookie)
data=tmp.content
#返回json数据,进行解析
bb=json.loads(data)
awswer=bb["result"]["answer"][0]["content"][0]["text"]
print(awswer)