当我在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")