У меня пара вопросов. Чтобы объяснить, что происходит в этом коде, я беру счетчик подписчиков канала YouTube и пытаюсь преобразовать его в int, чтобы его можно было умножать, делить и т. Д. c.
Есть ли способ вставить что-то вроде «. С последующими любыми тремя символами» в методе .replace. Это связано с тем, что у некоторых каналов YouTube есть около 3,04 млн подписчиков. Когда я извлекаю эту строку из HTML, я хочу иметь возможность превратить ее в int. Это первый оператор «если», я пытаюсь сказать, «если в подсчете есть десятичная дробь, за которой следуют 3 символа, то есть два числа и буква, затем удалите десятичную дробь и замените буквы на соответствующее количество нулей в соответствии с к размещению десятичной дроби. Если после нее НЕ 3 символа, я хочу поставить go до первого "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))