Python - BeautifulSoup - 如何进行在线数据解析
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python - BeautifulSoup - 如何进行在线数据解析相关的知识,希望对你有一定的参考价值。
我正在尝试解析website,我可以获取品牌标签和类别标签,但我似乎无法解析价格标签。此外,一些鞋子正在出售,HTML代码似乎有所不同。
关于如何改进解析代码的任何想法?
这是我到目前为止所拥有的。
url="https://www.sportsexperts.ca/fr-CA/femmes/chaussures?pagesize=451"
contenu = requests.get(url)
page = BeautifulSoup(contenu.text,"html.parser")
for urlchaussure in urldeschaussures:
chaussure =[]
try:
url2 = urlchaussure.a["href"]
url2 = "https://www.sportsexperts.ca" + url2
contenu2 = requests.get(url2)
page2 = BeautifulSoup(contenu2.text,"html.parser")
prix = page2.find(class_ ="price").find_next("span").text
print(prix)
except:
print("rien ici")
答案
所有价格(折扣后的价格或没有销售的价格)都位于<div class="product-tile-price">
标签内。所以,你的工作是首先找到这些标签,并使用.span.text
来获得价格。
r = requests.get('https://www.sportsexperts.ca/fr-CA/femmes/chaussures')
soup = BeautifulSoup(r.text, 'lxml')
prices = [x.span.text for x in soup.find_all('div', class_='product-tile-price')]
print(prices)
输出:
['84,99 $', '67,49 $', '59,49 $', '48,99 $', '164,99 $', '77,99 $', '129,99 $', '94,99 $', '49,99 $', '49,99 $', '119,99 $', '89,99 $', '89,99 $', '74,99 $', '99,99 $', '149,99 $', '99,99 $', '159,99 $', '159,99 $', '99,99 $', '119,99 $', '139,99 $', '125,99 $', '84,99 $']
以上是关于Python - BeautifulSoup - 如何进行在线数据解析的主要内容,如果未能解决你的问题,请参考以下文章