如何过滤python中没有换行符的大块文本?

时间:2015-08-07 15:34:14

标签: python

这是我的问题:我想用python过滤掉一大块文本,但我发现的所有内容都是按行过滤的,即使用"如果是line.startswith",我就是' ;我想我可以在这里做到:/。

这是我的实际代码:

import json
import requests

data = requests.get('http://www.reddit.com/r/todayilearned/new/.json');  
print(data.json())

我想在""标题:":"之间取内容和",)"。 你有什么想法 ? 谢谢!

2 个答案:

答案 0 :(得分:2)

查看print(data.json())的输出.JSON Python模块可以很容易地使用for ... in ...循环遍历JSON数据。试一试

for x in data.json():
    print x

查看输出结果。之后,添加更多内部循环来循环遍历x,您将看到如何访问每个JSON数据。

答案 1 :(得分:2)

JSON的全部意义在于为您处理解析 - 您可以将JSON对象作为常规Python字典/列表。

例如,以下是获取JSON对象中所有标题的方法:

obj = data.json()
for child in obj['data']['children']:
    print child['data']['title']

您可以使用JSON pretty-printer(它将格式化JSON字符串以便更容易理解其结构)来探索JSON块的结构,或者直接在Python中探索对象:

>>> obj = data.json()
>>> type(obj)
<type 'dict'>
>>> obj.keys()
[u'kind', u'data']
>>> print obj['kind']
u'Listing'

>>> type(obj['data'])
<type 'dict'>
>>> obj['data'].keys()
[u'modhash', u'children', u'after', u'before']

>>> type(obj['data']['children'])
<type 'list'>

# etc...