首页 > 解决方案 > 如何在python中制作2种颜色?比较

问题描述

我有下面的代码,下面的代码将从 pluang.com 站点获取值,但我想制作 2 种颜色,这样我就不会混淆并且易于理解。

我想如果刮掉的值低于 (-) 860,000 (mis. 850.000) 那么打印必须是红色的,如果它高于 (+) 860,000 (mis. 870.000) 那么打印必须是绿色的。

任何人都可以帮忙吗?谢谢你。

from urllib.request import urlopen, Request
from bs4 import BeautifulSoup
from datetime import datetime
import time
import os

class bcolors:
    SELL = '\033[92m'
    BUY  = '\033[31;1m'
    
os.system("clear")

while True:
  url = "https://pluang.com/produk/pluang-emas"
  UserAgent = Request(url, headers={'User-Agent':'Mozilla/5.0'})
  html = urlopen(UserAgent)
  data = BeautifulSoup(html, "html.parser")

  items = data.findAll("h1", {"id":"gold-price"})
  for item in items:
     print(bcolors.BUY + " SELL GOLD:",item.get_text().strip(),"-",datetime.now())
     time.sleep(59)

标签: python

解决方案


你已经有了为你的终端着色的课程。您将需要以某种方式获取值(您正在显示它)检查它是大于还是小于您的条件,然后相应地打印。

在您的代码中item.get_text()打印类似:Rp860.530/g. 我相信这里 Rp 是货币,g 是克。让我们摆脱它们:

import re
numbers = rr = list(map(float, re.findall("[-+]?[.]?[\d]+(?:,\d\d\d)*[\.]?\d*(?:[eE][-+]?\d+)?", item.get_text())))

见:https ://stackoverflow.com/a/4289348/2681662

这会将文本中的所有数字作为列表返回。

现在我们可以检查该值是否小于或大于我们的阈值。

from urllib.request import urlopen, Request
from bs4 import BeautifulSoup
from datetime import datetime
import time
import os
import re


class bcolors:
    BUY = '\033[92m'
    SELL = '\033[31;1m'


os.system("clear")

while True:
    url = "https://pluang.com/produk/pluang-emas"
    UserAgent = Request(url, headers={'User-Agent': 'Mozilla/5.0'})
    html = urlopen(UserAgent)
    data = BeautifulSoup(html, "html.parser")

    items = data.findAll("h1", {"id": "gold-price"})
    for item in items:
        rr = list(map(float, re.findall("[-+]?[.]?[\d]+(?:,\d\d\d)*[\.]?\d*(?:[eE][-+]?\d+)?", item.get_text())))
        if rr[0] < 860:
            print(bcolors.SELL + " SELL GOLD:", item.get_text().strip(), "-", datetime.now())
        else:
            print(bcolors.BUY + " BUY GOLD:", item.get_text().strip(), "-", datetime.now())

        time.sleep(59)

我不确定红色和绿色部分是否正确写入。无论如何你都可以改变它。


推荐阅读