【发布时间】:2020-05-05 16:45:17
【问题描述】:
我有几个问题。只是为了解释这段代码中发生了什么,我正在获取一个 youtube 频道的订阅者数量,并尝试将其转换为一个 int 以便它可以进行乘法、除法等。
有没有办法在 .replace 方法中输入类似“. 后跟任意三个字符”的内容。这是因为某些 youtube 频道拥有“3.04 万”订阅者。当我从 HTML 中提取该字符串时,我希望能够将其转换为 int。这是第一个“if”语句,我想说“如果子计数有一个小数,后跟 3 个字符,即两个数字和字母,然后删除小数并用相应数量的零替换字母,根据到小数点的位置。如果后面没有 3 个字符,我想转到第一个“else”,它只会将字母的值降低 10 倍,而不是 100,因为小数点位置。最后,如果没有小数,我只是想将字母转换成常规数量的零。
我可能应该指出,我对 python 非常陌生,只使用了大约 3 天。之前的经验就像是 10 个小时的 java,我几乎忘记了。
感谢您提供的任何帮助!
subC = self.driver.find_element_by_xpath('/html/body/ytd-app/div/ytd-page-manager/ytd-browse/div[3]/ytd-c4-tabbed-header-renderer/app-header-layout/div/app-header/div[2]/div[2]/div/div[1]/div/div[1]/yt-formatted-string')
print('subscriber count is: ' + str(subC.text))
if ".XXX" in subC.text:
subC.text.replace('k' , '0')
subC.text.replace('M' , '0000')
subC.tect.replace('B' , '0000000')
else:
if "." in subC.text:
subC.text.replace('k' , '00')
subC.text.replace('M' , '00000')
subC.text.replace('B' , '00000000')
subC.text.replace('.' , '')
else:
subC.text.replace('k' , '000')
subC.text.replace('M' , '000000')
subC.text.replace('B' , '000000000')
(realSub, other) = subC.text.split(maxsplit=1)
print(int(realSub))
【问题讨论】:
标签: python python-3.x string selenium int