首页 > 解决方案 > 如何将抓取的数据写入csv fromat?

问题描述

您好,我是 python 新手,我不知道如何将抓取的数据转换为 csv 格式。这是我的程序

import requests
import urllib.request

from bs4 import BeautifulSoup
import pandas



url = 'https://menupages.com/restaurants/ny-new-york/2'
response = requests.get(url)
soup = BeautifulSoup(response.text, "html.parser")


all_links = soup.find_all("a")
for link in all_links:
    print(link.get("href"))
    rows = soup.find_all('tr')
    print(rows[:10])

它刮掉了我想要的输出,我想将我的输出保存在 csv 文件中。请帮助

标签: pythonscreen-scrapingfile-writing

解决方案


您可以在 python csv文档中找到以下示例。

import csv
with open('eggs.csv', 'w', newline='') as csvfile:
    spamwriter = csv.writer(csvfile, delimiter=' ',
                            quotechar='|', quoting=csv.QUOTE_MINIMAL)
    spamwriter.writerow(['Spam'] * 5 + ['Baked Beans'])
    spamwriter.writerow(['Spam', 'Lovely Spam', 'Wonderful Spam'])

如您所见,您需要做的就是将行转换为列表,然后将其传递给writerow方法。


推荐阅读