gpt4 book ai didi

python - 使用 python+beautifulSoup4 从动态图中抓取数据

转载 作者:行者123 更新时间:2023-12-01 04:58:12 28 4
gpt4 key购买 nike

我需要实现数据抓取任务并从动态图中提取数据。该图表随时间更新,类似于您查看公司股票图表时看到的情况。我正在 python 中使用 requests 和 beautifulsoup4 库,但我只知道如何抓取文本和链接数据。似乎无法弄清楚如何将图表的值放入 csv 文件中

相关图表可以在 - http://www.apptrace.com/app/instagram/id389801252/ranks/topfreeapplications/36 找到

最佳答案

@Oliver W. 已经提供了一个很好的答案,但是使用 requests ( link here ) 避免了必须注意网络调用,并且总体上是一个比 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

更改网页中的内容以查看您可以从国家/地区获得哪些其他值(例如加拿大是“CAN”)。空字符串代表美国。

df 看起来像这样

    date        rank
0 2014-08-09 10
1 2014-08-10 10
2 2014-08-11 9
3 2014-08-12 8
4 2014-08-13 8
5 2014-08-14 7
6 2014-08-15 6
7 2014-08-16 8

有了 pandas 数据框,您可以导出到 csv 或在导出之前合并多个数据框

df = load_data()
df.to_csv("file_name.csv")

关于python - 使用 python+beautifulSoup4 从动态图中抓取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26886754/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com