2024-09-27 21:24:37 发布
网友
我需要实现一个数据抓取任务并从动态图中提取数据。这张图是随着时间的推移而更新的,类似于你看一家公司股票的图表。我使用的是python中的requests和beautifulsoup4库,但我只知道如何获取文本和链接数据。似乎不知道如何将图形的值放入csv文件
有问题的图可以在-http://www.apptrace.com/app/instagram/id389801252/ranks/topfreeapplications/36找到
@Oliver W.已经提供了一个很好的答案,但是使用requests(link here)可以避免记录网络呼叫,而且总体上比urllib好得多。在
requests
urllib
如果你想让你的代码更灵活一点,你可以写一个函数,它接受国家名称和开始和结束日期。在
import requests import pandas as pd import json def load_data(country='', start_date='2014-08-09', end_date='2014-11-1'): base = "http://www.apptrace.com/api/app/389801252/rankings/country/" extra = "?country={0}&start_date={1}&end_date={2}&device=iphone&list_type=normal&chart_subtype=iphone" addr = base + extra.format(country, start_date, end_date) page = requests.get(addr) json_data = page.json() #gets the json data from the page ranks = json_data['rankings'][0]['ranks'] ranks = json.dumps(ranks) #Ensures it has valid json format df = pd.read_json(ranks, orient='records') return df
改变网页上的内容,看看你能从这个国家获得什么样的价值(例如加拿大是“可以”)。空弦是给美国的
df看起来像这样
有了pandas数据帧,您可以在导出之前导出到csv或合并多个数据帧
csv
df = load_data() df.to_csv("file_name.csv")
如果有正确的URL,就可以很容易地从图中获取数据。你可以很容易地找到这个地址,比如firefox中的“开发者工具”(查看XHR请求的“网络”选项卡)。在
您将看到有人打电话给,例如:
src = 'http://www.apptrace.com/api/app/389801252/rankings/country/?country=CAN&start_date=2014-08-08&end_date=&device=iphone&list_type=normal&chart_subtype=iphone'
如果您调用它,您将收到一个JSON回复,您可以轻松地将其加载到python中:
然后可以使用python的内置csv module将数据存储到csv中。在
你能提供一个链接供参考吗。这取决于图形的存储和显示方式。从它像股票行情机一样动态来看,你可以在一些标签之间找到一些文本。我看过一些使用靓汤从网站获取图片和其他内容的例子,所以这并非不可能。在
昨天我正在将数据格式化为CSV格式,并立即得到了一些非常有用的响应。在
看看:How can I format every other line to be merged with the line before it? (In Python)
另外,我在这里学到的是,如果您需要获取这些数据,通常自动运行脚本的好方法是CRON作业。在
@Oliver W.已经提供了一个很好的答案,但是使用
requests
(link here)可以避免记录网络呼叫,而且总体上比urllib
好得多。在如果你想让你的代码更灵活一点,你可以写一个函数,它接受国家名称和开始和结束日期。在
改变网页上的内容,看看你能从这个国家获得什么样的价值(例如加拿大是“可以”)。空弦是给美国的
df看起来像这样
^{2}$有了pandas数据帧,您可以在导出之前导出到
csv
或合并多个数据帧如果有正确的URL,就可以很容易地从图中获取数据。你可以很容易地找到这个地址,比如firefox中的“开发者工具”(查看XHR请求的“网络”选项卡)。在
您将看到有人打电话给,例如:
如果您调用它,您将收到一个JSON回复,您可以轻松地将其加载到python中:
^{2}$然后可以使用python的内置csv module将数据存储到csv中。在
你能提供一个链接供参考吗。这取决于图形的存储和显示方式。从它像股票行情机一样动态来看,你可以在一些标签之间找到一些文本。我看过一些使用靓汤从网站获取图片和其他内容的例子,所以这并非不可能。在
昨天我正在将数据格式化为CSV格式,并立即得到了一些非常有用的响应。在
看看:How can I format every other line to be merged with the line before it? (In Python)
另外,我在这里学到的是,如果您需要获取这些数据,通常自动运行脚本的好方法是CRON作业。在
相关问题 更多 >
编程相关推荐