JSON https://docs.python.org/2/library/json.html
SQLite https://docs.python.org/2/library/sqlite3.html
Код: Выделить всё
import requests
import json
import sqlite3
import hashlib
m = hashlib.md5()
#m.update("000005fab4534d05api_key9a0554259914a86fb9e7eb014e4e5d52permswrite")
#print m.hexdigest()
conn = sqlite3.connect('example.db')
curs = conn.cursor()
try:
curs.execute('DROP TABLE pairs');
except Exception:
n=0
'''
error_msg User authorization failed: sig param is incorrect,
sig=md5('/method/messages.getHistory??v=5.46
&access_token=4c27b93f3421dbe27e5de0fce663ca92464de541e924b9d59d00a2c7d91c2d2d1dc6f47d57c25b6911b3c
&peer_id=111010471&fields=first_name,last_name,photo_100,photo_50
&lang=ru&count=60&photo_sizes=1'+SECRET)
'''
curs.execute('CREATE TABLE pairs (name text, value text)')
headers = {'User-Agent': 'VKAndroidApp/4.0.1-816 (Android 6.0; SDK 23; armeabi-v7a; LGE Nexus 5; ru)'}
method = '/method/messages.getHistory'
secret = 'b58b2ec9e2367f98c5'
data = '?v=5.46'\
'&access_token=4c27b93f3421dbe27e5de0fce663ca92464de541e924b9d59d00a2c7d91c2d2d1dc6f47d57c25b6911b3c'\
'&peer_id=111010471'\
'&fields=first_name,last_name,photo_100,photo_50&lang=ru'\
'&count=60'\
'&photo_sizes=1'
#'&sig=0abcfdc59bf543fa75ef68c9b4f1d235'
# 71bbc80a527aeb9856ad086eb7b658c9
m.update(method + data + secret)
sig = m.hexdigest();
print sig
data += '&sig=' + sig
req = requests.Request('POST','http://api.vk.com' + method,
headers = headers,
data = data)
prepared = req.prepare()
s = requests.Session()
r = s.send(prepared)
j = json.loads(r.text)
if j is dict: print 'dict'
n =0;
for i in j:
if n > 10: continue
print n
n += 1
n1 = n
for i1 in j[i]:
print type(i), type(j[i][i1])
print ' ', n, i1, j[i][i1]
n += 1
#if not type(j[i][i1]) is list:
# curs.execute("INSERT INTO pairs VALUES ('" + i1 + "','" + str(j[i][i1]) + "')" )
if n == n1:
print i, j[i]
#curs.execute("INSERT INTO pairs VALUES ('" + i + "','" + j[i] + "')" )
#curs.execute("INSERT INTO pairs VALUES ('2006-01-05','BUY')")
conn.commit()
conn.close()