python抓取网页并解析内容

时间:2016-11-10 14:13:37

标签: python json parsing web-scraping data-cleaning

我想抓取此链接上的数据

http://www.realclearpolitics.com/epolls/json/5491_historical.js?1453388629140&callback=return_json

我不确定这个链接的类型是什么,是html还是json还是别的什么。对不起,我的网络知识不好。但我尝试使用以下代码来抓取:

import requests

url='http://www.realclearpolitics.com/epolls/json/5491_historical.js?1453388629140&callback=return_json'
source=requests.get(url).text

源的类型是unicode。我也尝试使用urllib2来刮:

source2=urllib2.urlopen(url).read()

source2的类型是字符串。我不确定哪种方法更好。因为链接不像普通网页包含不同的标签。如果我想清理已删除的数据并形成数据帧数据(如pandas数据帧),我应该遵循哪种方法或过程/

感谢。

2 个答案:

答案 0 :(得分:0)

返回的响应是包含有效JSON数据的文本。如果需要,您可以使用http://jsonlint.com/等服务自行验证。为此,只需复制括号内的代码

  

return_json(“要复制的JSON代码”)

为了使用该数据,您只需在程序中解析它。这是一个例子:https://docs.python.org/2/library/json.html

答案 1 :(得分:0)

回复是文字。它确实包含JSON,只需要提取它

import json

strip_len = len("return_json(")

source=requests.get(url).text[strip_len:-2]
source = json.loads(source)