【问题标题】:save a web scaping result into a CSV or excel file将网页抓取结果保存到 CSV 或 excel 文件中
【发布时间】:2021-02-02 17:41:49
【问题描述】:

我正在尝试对销售汽车的网站进行网络抓取测试,因此我需要获取汽车信息并将它们存储在 CSV 或 Excel 文件中。我希望每个信息都存储在所需的列中,例如:汽车名称;车价、里程... 我的最终代码:

soup = BeautifulSoup(adress.content, 'html.parser')
title=soup.h1.text
Price=soup.find("div",class_="value details-price-value").get_text()
vin=soup.find("div",class_= "value details-vin-value").get_text()
car_info=[
]
car_info.append({"price":Price})
car_info.append({"title":title})
car_info.append({"item vin":vin})


with open('cars.csv', 'w', newline='') as myfile:
    wr = csv.writer(myfile, quoting=csv.QUOTE_ALL)
    wr.writerow(car_info)
   

【问题讨论】:

  • 当前代码有问题吗?
  • 是的,保存的列表不适合我想要的 CSV 列。

标签: python web-scraping beautifulsoup


【解决方案1】:

我找到了解决方案。到目前为止工作正常,但在 CSV 文件中重复数据还有另一个问题 data title and price are getting repeated for each car

代码:

    url =input("enter site:")
car_info=[]
#def requisting():
adress = requests.get(url)
soup = BeautifulSoup(adress.content, 'html.parser')

title=soup.h1.text
Price = soup.find("div", class_="value details-price-value").get_text()
vin = soup.find("div", class_="value details-vin-value").get_text()


car_info.append(title)
car_info.append(Price)
car_info.append(vin)
info=['title','price','vin']

print(car_info)
with open("newcars.csv", 'a', newline="")as nc:
    wr = csv.writer(nc)
    wr.writerow(info)
    wr.writerow(car_info)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-03-02
    • 2016-08-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多