从Python中打开的URL复制文本

时间:2013-08-28 22:10:19

标签: python json url

所以我试图在互联网上阅读一个网页,它可以工作,但它给了我整个页面,我想从中复制一个特定的单词,而不是更多。 基本上是这样的API网址,http://api.formice.com/tribe/stats.json?n=Safwanrockz 如果我只想复制“排名”值怎么办? 这是我的代码:

import shutil
import os
import time
import datetime
import math
import urllib
from array import array

filehandle = urllib.urlopen('http://api.formice.com/tribe/stats.json?n=Safwanrockz')

for lines in filehandle.readlines():
print lines

filehandle.close()

3 个答案:

答案 0 :(得分:0)

您有两个主要选择:

  1. 使用标准json模块(或类似)解码JSON对象。
  2. 使用正则表达式。
  3. 我建议使用第一种替代方案,因为它更结构化,更稳定,并且如果您的要求变得更复杂,它将会起作用。

答案 1 :(得分:0)

通过json.loads()将其加载到python dict

import json
import urllib2

response = urllib2.urlopen('http://api.formice.com/mouse/stats.json?n=Safwanrockz')
data = json.loads(response.read())

print type(data)  # prints <type 'dict'>

print data['tribe']  # prints "Three Feathers"

答案 2 :(得分:0)

import urllib
import json

data = urllib.urlopen('http://api.formice.com/tribe/stats.json?n=Safwanrockz').read()
json_data = json.loads(data)
print data
print json_data['error']

此处data是文档中的原始数据,json_data是JSON解析的文档(解析为字典)。第一个print语句打印原始数据。第二个打印JSON元素error的值。