在Python中抓取HTML数据?

时间:2016-06-15 04:45:18

标签: python web-scraping

我对编程很新,我正在尝试从网页中获取数据并在我的python代码中使用它。基本上,我试图通过让python在我运行代码时抓取数据来为游戏购买物品的价格,如果这是有意义的话。以下是我特别挣扎的事情:

我正在使用的HTML页面是runescape,即

http://services.runescape.com/m=itemdb_oldschool/api/catalogue/detail.json?item=4151

此页面为我提供了一系列词典,我试图从中提取相关项目的价格。我真的想做的就是将所有这些数据都放到python中,这样我就可以操作了。我目前的代码是:

import urllib2

response =urllib2.urlopen('http://services.runescape.com/m=itemdb_oldschool/api/catalogue/detail.json?item=4151')

print response

它输出:

addinfourl at 49631760 whose fp = socket._fileobject object at 0x02F4B2F0

而我只是希望它能准确显示相关网址上的内容。

有什么想法吗?如果我的格式很糟糕,我很抱歉。如果听起来我不知道我在说什么,那是因为我没有。

1 个答案:

答案 0 :(得分:2)

如果网页返回json编码的数据,则执行以下操作:

import urllib2
import json

response = urllib2.urlopen("http://services.runescape.com/m=itemdb_oldschool/api/catalogue/detail.json?item=4151")
data = json.load(response)   

print(data)

提取data变量中的相关键以获取所需的值。