Python发送http请求解析返回json的实例

yipeiwu_com7年前Python基础

python发起http请求,并解析返回的json字符串的小demo,方便以后用到。

#! /usr/bin/env python
  # -*- coding:gbk -*-

  import os
  import sys
  import json
  import urllib
  import urllib2

  if __name__ == "__main__":
    query_file = sys.argv[1]
    query_index = 0
    with open(query_file, 'r') as fp:
      for line in fp:
        query = line.rstrip()
        query_index = query_index + 1
        query_gbk = query
        query = query.decode('gbk', 'ignore').encode('utf8', 'ignore')
        url = 'http://10.42.141.12:8089/adrender?query=%s&ad_num=3&srcid=101'\\
           '&ip=172.22.182.55&baiduid=61ABB404320C72436EB6B8352DFBB388:FG=1' % (query)
        req = urllib2.urlopen(url)
        page = req.read()
        ddict = json.loads(page)
        expid = ddict['expid']
        sid = ddict['sid']
        ad_num = ddict['response_adnum']
        for i in range(0, ad_num):
          output_html = '%s-%d.html' % (query_gbk, i)
          output = open(output_html, 'w')
          ad = ddict['response_ads'][i].encode('utf8', 'ignore')
          output.write('<html>\')
          output.write('<head>\  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">\<head>\')
          output.write("%s" % (ad))
          output.write('\</html>\')
          output.close()

以上这篇Python发送http请求解析返回json的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python读取txt文件并取其某一列数据的示例

菜鸟笔记 首先读取的txt文件如下: AAAAF110 0003E818 0003E1FC 0003E770 0003FFFC 90 AAAAF110 0003E824 0003E2...

python日志logging模块使用方法分析

python日志logging模块使用方法分析

本文实例讲述了python日志logging模块使用方法。分享给大家供大家参考,具体如下: 一、从一个使用场景开始 开发一个日志系统, 既要把日志输出到控制台, 还要写入日志文件 i...

浅谈Python中(&,|)和(and,or)之间的区别

浅谈Python中(&,|)和(and,or)之间的区别

(&,|)和(and,or)是两组比较相似的运算符,用在“与”/ “或”上,在用法上有些许区别。 (&,|)和(and,or)是用来比较两组变量的,格式基本上是: a & b a...

Python中的上下文管理器相关知识详解

Python中的上下文管理器相关知识详解

前言 with 这个关键字,对于每一学习Python的人,都不会陌生。 操作文本对象的时候,几乎所有的人都会让我们要用 with open ,这就是一个上下文管理的例子。你一定已经相当...

python从子线程中获得返回值的方法

如下所示: # coding:utf-8 import time from threading import Thread def foo(number): time.s...