我用python编写代码,使用beautifulsoup从在线购物网站提取数据,但我在提取ratting时遇到了一个问题,因为它是用html编写的,如下所示:
我的程序如下,我需要一个更好的方法:
result = requests.get("https://egypt.souq.com/eg-en/laptops-rgx2060/s/?as=1")
src = result.content # .content
soup = BeautifulSoup(src, 'lxml')
rating = []
rate = soup.find_all("span", {"class": "rating-stars"})
for n in range(len(rate)):
rate_txt = ""
zz = re.findall(r"\d", str(rate[n].find("i", {"class": "star-rating-svg"}).find("i")))
for j in range(len(zz)):
rate_txt += zz[j]
rate_txt += "%"
rating.append(rate_txt)
使用
("i", {"class": "star-rating-svg"})
将在左侧栏上选择评级值这就是为什么需要try catch
,而不是在产品容器或.single-item .star-rating-svg i
中查找评级值您可能希望尝试以下方法:
输出:
相关问题 更多 >
编程相关推荐