Python_杂技(4)_抓取某个api数据

2017-08-23  本文已影响25人  丶纳凉

一丶介绍

获取某个api的数据,定制化格式提取;

http://restapi.amap.com/v3/place/text?&keywords=&types=120201&city=hangzhou&output=json&offset=50&page=1&key=4254ccdb6f119ac71f046022bbe73bfc&extensions=all

比如这个链接,我想从page 1 - >10抓取数据;
提取里面JSON的name,tel,address等数据进行定制化抓取;

二丶

代码

#!/usr/bin/python
#-*- coding: utf-8 -*-
#encoding=utf-8

import json
import requests
import os
import urllib2,urllib
import sys
reload(sys)
sys.setdefaultencoding('utf-8')

def wjxRead(urlStr):
    response = urllib2.urlopen(urlStr).read()
    s = json.loads(response)
    poisArray = s['pois']

    content = ""
    for index,value in enumerate(poisArray):
        if isinstance(value["tel"],unicode):
            tmpContent = "------>\nname : " + value["name"] + "\n" + "address : " + value["address"] + "\n" + "tel : " + value["tel"] + "\n"
            content = content +  tmpContent
        else:
            tmpContent = "------>\nname : " + value["name"] + "\n" + "address : " + value["address"] + "\n" + "tel : " + \n
            content = content +  tmpContent
    return content

def saveFile(content):
    file = open("wjx.txt","wb")
    file.write(content)
    file.close()

wjxContent  = ""
for x in xrange(1,10):
    urlStr = 'http://restapi.amap.com/v3/place/text?&keywords=&types=120201&city=hangzhou&output=json&offset=50&page=' + str(x) +'&key=4254ccdb6f119ac71f046022bbe73bfc&extensions=all'
    wjxContent = wjxContent + wjxRead(urlStr)


saveFile(wjxContent)

三丶总结

没有考虑并发

上一篇下一篇

猜你喜欢

热点阅读