是否有一种变通方法可以防止特定方法将内容打印到控制台



当我在App Store中抓取特定应用程序的详细信息时,即使没有打印语句,它也会打印出控制台的URL。这是我的实验代码片段和当前输出。

!pip install itunes-app-scraper-dmi
from itunes_app_scraper.scraper import AppStoreScraper
print(" ")
bundleID = "com.marmalade.monopoly"
appDetails = AppStoreScraper().get_app_details(bundleID, country="us")
version = appDetails['version']
url = appDetails['trackViewUrl'][:-5]
print("nVersion:", version)
print("App URL:", url)

并输出以下内容。

Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/
Requirement already satisfied: itunes-app-scraper-dmi in /usr/local/lib/python3.7/dist-packages (0.9.4)

https://itunes.apple.com/lookup?bundleId=com.marmalade.monopoly&country=us&entity=software
Version: 1.7.15
App URL: https://apps.apple.com/us/app/monopoly-classic-board-game/id1477966166

我计划将其合并到我的主代码中,这将涉及迭代一个更大的应用程序列表,我对打印到控制台的URL不感兴趣。我只想为每个应用程序获取几条信息,并将它们存储到变量中以供进一步处理。

在代码示例中,它将此URL打印到控制台,无论是否使用独立的打印语句。(https://itunes.apple.com/lookup?bundleId=com.marmalade.monopoly&country=us&实体=软件(

我查看了下面(2(中的get_app_details()方法,但找不到它打印URL的位置。在这里,我看到的是第177行和之后的任何内容,它根据给定的束ID将URL放在一起。第180行似乎将requests.get(url).json()的结果存储到变量result中。这个子方法可以在没有自己的打印语句的情况下负责打印URL吗?

如果是,是否有解决方法可以防止URL打印到控制台?

文档

  • (1(itunes应用程序scraper文档
  • (2( itunes app scraper的方法

快速更新,我设法找到了解决方案。当我不希望该方法打印URL时,我在整个主代码中使用了以下代码片段。

from IPython.utils import io
with io.capture_output() as captured:
print("Output Text")

相关内容

最新更新