一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

Python 爬虫App版Json解析的例子

时间:2015-08-30 编辑:简简单单 来源:一聚教程网

 

一:我们通过charles抓包一段app请求,从服务器返回json数据,通过chrome插件jsonView 美化json代码 如图


json

 

我们希望抓起id和name


2:在pycharm环境下编写我们的代码

# -*- coding: utf-8 -*-

 

__author__ = 'itiwin'

import requests

import json

import os

import sys

import time

import traceback

import MySQLdb

reload(sys)

sys.setdefaultencoding("utf-8")

 

conn= MySQLdb.connect(

host='localhost',

port = 3306,

user='root',

passwd='root',

db ='db_expert',

)

conn.set_character_set('utf8')

cur = conn.cursor()

cur.execute('SET NAMES utf8;')

cur.execute('SET CHARACTER SET utf8;')

cur.execute('SET character_set_connection=utf8;')

cur.close()

 

headers = {'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',

'Accept-Encoding': 'gzip, deflate, compress',

'Accept-Language': 'en-us;q=0.5,en;q=0.3',

'Cache-Control': 'max-age=0',

'Connection': 'keep-alive',

'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.65 Safari/537.36'}

session=requests.session();

session.headers.update(headers)

def getNav():

    url = 'http://获取json的url'

    r = requetUrl(url)

    j = r.text

    jn = json.loads(j)

    data = jn['data']

    try:

        print(u'共几类:'+str(len(data)))

        for d in data:

            id = d['id']

            print( d['name'])

            getMatchInfo(id)

    except:

        traceback.print_exc(file=sys.stdout)

    finally:

        conn.close()

        session.close()

 

if __name__ =='__main__':

    getNav()

热门栏目