h = soup.findAll("div", {"id": "products"})
for row in h:
b = row.findAll("div", {"class": "gd-row"})
for a in b:
c = a.findAll("div", {"class": "gd-col"})
for d in c:
e = d.findAll("div", {"class": "product-unit"})
for f in e:
g = f.findAll("div", {"class": "pu-details"})
for h in g:
i = h.findAll("div", {"class": "pu-title"})
for k in i:
l = k.findAll('a')
for z in l:
text = z.get('href')
title = str(z.get_text().strip())
urldict.update({counter: text})
print (str(counter) + ')' + title)
titlelist.append(title)
counter = counter + 1
print ("\nSeems we found more than one same mobile type, help us by selecting appropiate model \n")
user_choice = input("\nEnter your choice (number) which matches exactly:")
url_from_search = "http://www.xyzabc.com{}".format(
urldict.get(user_choice).split('&')[0])有人能帮我吗?我试图在上面给出的beautifulsoup.The代码的帮助下做html解析,但却抛出了属性错误。可能的问题是什么?如果可能的话,请帮助我。
发布于 2016-02-14 12:55:56
显然,user_choice密钥不在urldict字典中,并且urldict.get(user_choice)返回None。假设您使用的是Python3,并且您的urldict密钥是整数,则需要在进行查找之前将输入的数字转换为整数:
user_choice = int(input("\nEnter your choice (number) which matches exactly:"))
url_from_search = "http://www.acxcs.com{}".format(
urldict.get(user_choice).split('&')[0])此外,您可能应该更好地处理“缺少键”的情况。例如:
user_choice = int(input("\nEnter your choice (number) which matches exactly:"))
if user_choice not in urldict:
print("Error, the number is not valid")
else:
url_from_search = "http://www.acxcs.com{}".format(urldict[user_choice].split('&')[0])https://stackoverflow.com/questions/35388479
复制相似问题