你好,我正在为我的产品做短信营销,我正在抓取一个有链接的电话号码网站https://www.justdial.com/Mumbai/Readymade-Garment-Retailers/nct-10401947,这个网站通过给联系人分配类名来隐藏联系人的号码,比如mobilesv icon-jie
,在-
之后写的字母很重要,因为它们代表从0到9的数字,以前这些是静态的,但现在看起来它们是动态的,每次刷新都会变化,所以以前我常做的是:
storeDetails = driver.find_elements_by_class_name('store-details')
contactList = storeDetails[i].find_elements_by_class_name('mobilesv')
mynumbers = []
for j in range(len(contactList)):
myString = contactList[j].get_attribute('class').split("-")[1]
print(myString)
mynumbers.append(strings_to_num(myString))
主要逻辑函数(strings_to_num
,它将类映射到数字(是:
def strings_to_num(argument):
switcher = {
'dc': '+',
'fe': '(',
'hg': ')',
'ba': '-',
'vuk': '0',
'ikj': '1',
'nmg': '2',
'hgd': '3',
'oqp': '4',
'fde': '5',
'baa': '6',
'dcb': '7',
'trs': '8',
'rqi': '9'
}
return switcher.get(argument, "#")
但现在已经不起作用了,有人能帮我解决这个问题吗,因为这是在浪费我的时间,谢谢
我在这段代码上尝试了您的string_to_num逻辑,它运行得很好。请尝试根据您的应用程序逻辑进行编辑
my_string = "fde-dc-rqi"
arguments = [string for string in my_string.split("-")]
my_num = ""
for arg in arguments:
my_num += strings_to_num(arg)
print(my_num)