发布
社区首页 >问答首页 >从网站中提取文本数据并存储

从网站中提取文本数据并存储
EN

Stack Overflow用户
提问于 2021-04-09 01:01:38
回答 3查看 371关注 0票数 2
代码语言:javascript
代码运行次数:0
复制
import requests


def get_prices():
    name = ["SeedifyFund"]

    crypto_data = requests.get(
        "https://api.pancakeswap.info/api/tokens".format(",".join(name))).json()["RAW"]

    data = {}
    for i in crypto_data:
        data[i] = {
            "coin": i,
            "priceusd": crypto_data[i]["USD"]["PRICE"],
            "pricebnb": crypto_data[i]["BNB"]["PRICEBNB"],
        }

    return data


if __name__ == "__main__":
    print(get_prices())

大家好,我对python编程还不太在行。我大约一年前开始工作,在封锁期间停了下来。现在回到正题,并决定为加密货币构建一个价格机器人。我想从这个网站上提取数据:"https://api.pancakeswap.info/api/tokens“,并将这些数据保存在"priceusd”和"pricebnb“中。

我希望我已经解释得足够好了。

我想从网站上提取数据,但是我使用的代码似乎不起作用。它每次都会给我一个“原始”错误。

我们将非常感谢所有的帮助。谢谢!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2021-04-09 01:18:55

你只是用错了钥匙。

代码语言:javascript
代码运行次数:0
复制
import requests


def get_prices():
    name = ["SeedifyFund"]

    crypto_data = requests.get("https://api.pancakeswap.info/api/tokens").json()["data"]

    data = {}
    for i in crypto_data:
        data[i] = {
            "coin": i,
            "priceusd": crypto_data[i]["price"],
            "pricebnb": crypto_data[i]["price_BNB"],
        }

    return data


if __name__ == "__main__":
    print(get_prices())

编辑:

代码语言:javascript
代码运行次数:0
复制
import requests


def get_prices():
    name = "SeedifyFund"

    crypto_data = requests.get("https://api.pancakeswap.info/api/tokens").json()["data"]

    data = None
    for i in crypto_data:
        current = crypto_data[i]

        if current['name'] == name:
          data = {
              "coin": i,
              "priceusd": current["price"],
              "pricebnb": current["price_BNB"],
          }

    return data


if __name__ == "__main__":
    print(get_prices())
票数 -1
EN

Stack Overflow用户

发布于 2021-04-09 01:16:57

代码语言:javascript
代码运行次数:0
复制
import requests


def get_prices():

    crypto_data = requests.get("https://api.pancakeswap.info/api/tokens")
    response_content = crypto_data.json()['data']

    data = {}
    for i in response_content:
        data[i] = {
            "coin": i,
            "priceusd": response_content[i]["price"],
            "pricebnb": response_content[i]["price_BNB"],
        }

    return data


if __name__ == "__main__":
    print(get_prices())
票数 0
EN

Stack Overflow用户

发布于 2021-04-09 01:37:51

代码语言:javascript
代码运行次数:0
复制
import telegram
from telegram.ext import Updater
from telegram.ext import CommandHandler
from tracker import get_prices


telegram_bot_token = "API"

updater = Updater(token=telegram_bot_token, use_context=True)
dispatcher = updater.dispatcher


def price(update, context):
    chat_id = update.effective_chat.id
    message = ""

    crypto_data = get_prices()
    for i in crypto_data:
        coin = crypto_data[i]["price_BNB"]
        price = crypto_data[i]["price"]
        message += f"1 SFUND (Currently showing ADA Price) = \n${price:,.2f} USD\n{change_hour:.3f}% 1 Hour Change\n{change_day:.3f}% Daily Change\n\n"

    context.bot.send_message(chat_id=chat_id, text=message)


dispatcher.add_handler(CommandHandler("price", price))
updater.start_polling()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67008668

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档