我使用以下代码来搜索网站。 '手机'是一个挑战。为了使它成功,我不得不使用find all,但更喜欢使用find。当我特意找它时,它会返回结果(我删除了电话号码):
(###)### - #### 结果,我只能得到它而不返回任何其他东西,根本没有电话号码。 find_all至少返回电话号码,但后来我花了很多时间从列表中进一步清理它(这个数字并不一直落在-1索引中)HELP!
def BSassign(letters):
BNameDict = {}
for i in range(len(letters)):
if letters[i].find(attrs = {'class': 'biz-name js-analytics-click'}) == None:
break
else:
BNameDict[i] = {'name': letters[i].find(attrs={'class': 'biz-name js-analytics-click'}).text,
'phone': letters[i].find_all('span'),
'address': letters[i].find(attrs={'class': 'service-area'})}
return BNameDict
答案 0 :(得分:0)
这有点工作......最后它仍然有最终的html编码......但它已经世界上更好了。是的,我确实尝试使用13,14和15个字符索引长度的切片,它只返回一个空白。
def BSassign(letters):
BNameDict = {}
for i in range(len(letters)):
if letters[i].find(attrs = {'class': 'biz-name js-analytics-click'}) == None:
break
else:
Phones = str(letters[i].find_all('span'))
thisisirritating = Phones.find('(')
Phones = Phones[thisisirritating:]
BNameDict[i] = {'name': letters[i].find(attrs={'class': 'biz-name js-analytics-click'}).text,
'phone': Phones,
'address': letters[i].find(attrs={'class': 'service-area'})}
return BNameDict