[英]how to write the scraped data in the 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])
它刮掉了我想要的 output 並且我想將我的 output 保存在 csv 文件中。任何人請幫忙
您可以在 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
方法。
您可以將抓取的鏈接列表存儲在python列表中,然后通過創建 pandas DataFrame 創建 Z628CB5675FF524F3EZE7819 文件。
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")
list_links = []
for link in all_links:
list_links.append(link.get("href"))
rows = soup.find_all('tr')
df = pandas.DataFrame({'WebLinks':list_links})
df.to_csv('/home/stackoverflow/links.csv', index=0)
Output 文件
WebLinks
https://menupages.com/
https://menupages.com/
https://menupages.com/restaurants/cities
https://menupages.com/info/about-us
https://menupages.com/info/contact-us
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.