我有一個腳本,它使用 requests 和 beautifulsoup 從谷歌警報中抓取,并使用 .csv 將它們存盤在 CSV 中df.to_csv()。
import requests
from bs4 import BeautifulSoup
import pandas as pd
name = 'galert'
url = 'https://www.google.co.in/alerts/feeds/'
output = []
for entry in soup.find_all('entry'):
item = {
'Title' : entry.find('title',{'type':'html'}).text,
'Pubdate' : entry.find('published').text,
'Content' : entry.find('content').text,
'Link' : entry.find('link')['href']
}
output.append(item)
df = pd.DataFrame(output)
df.to_csv('google_alert.csv',index=False)
print('Saved to google_alert.csv')
如何多次運行我的 scraper.py 并繼續將新結果添加到同一個 CSV 檔案而不重復任何結果?
CSV 具有以下列:標題、發布日期、內容和鏈接。如果檢查資料鏈接,我認為它們可以是唯一的。但是如何將它添加到這個刮板的流程中呢?
uj5u.com熱心網友回復:
您可以使用drop_duplicates:
# Load your old entries
df1 = pd.read_csv('google_alert.csv')
# Do stuff here with requests and bs4
...
df2 = pd.DataFrame(output)
df = pd.concat([df1, df2]).drop_duplicates('Link')
df.to_csv('google_alert.csv', index=False)
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/423429.html
標籤:
上一篇:嘗試替換缺失資料時出現錯誤堆疊
