我尝试使用 BeautifulSoup 从网站中提取不同的信息,例如产品标题和价格。
我使用不同的 url 来执行此操作,并使用for...in.... 在这里,我将只提供一个没有循环的片段。
from bs4 import BeautifulSoup
import requests
import csv
url= 'https://www.mediamarkt.ch/fr/product/_lg-oled65gx6la-1991479.html'
html_content = requests.get(url).text
soup = BeautifulSoup(html_content, "lxml")
price = soup.find('meta', property="product:price:amount")
title = soup.find("div", {"class": "flix-model-name"})
title2 = soup.find('div', class_="flix-model-name")
title3 = soup.find("div", attrs={"class": "flix-model-name"})
print(price['content'])
print(title)
print(title2)
print(title3)
因此,从这个 URL https://www.mediamarkt.ch/fr/product/_lg-oled65gx6la-1991479.html我并没有提取产品编号。我找到它的唯一地方是在 div 中class="flix-model-name"
。然而,我完全无法达到它。我尝试了不同的方法来访问它title
,title2
但title3
我总是有输出none
。
我是一个初学者,所以我想我可能错过了一些基本的东西......如果是这样,请原谅我。
欢迎任何帮助!提前谢谢了!
仅供参考,我想在每个 url 中附加数据并将其写入 CSV 文件,如下所示:
for url in urls:
html_content = requests.get(url).text
soup = BeautifulSoup(html_content, "lxml")
row=[]
try:
# title = YOUR VERY WELCOMED ANSWER
prices = soup.find('meta', property="product:price:amount")
row = (title.text+','+prices['content']+'\n')
data.append(row)
except:
pass
file = open('database.csv','w')
i = 0
while i < (len(data)):
file.write(data[i])
i +=1
file.close()
慕妹3242003
相关分类