如何让python将刮取的数据与填充的csv进行比较?

如何让python将刮取的数据与填充的csv进行比较?,python,pandas,csv,web-scraping,beautifulsoup,Python,Pandas,Csv,Web Scraping,Beautifulsoup,我有一个python代码,可以创建一个csv文件,并用当前美国州最高法院法官的名字填充它。我已经让python搜集数据,创建一个csv并用数据填充它 我试图让python每天运行(我已经设置了windows任务调度程序),刮取相同的页面,将新数据与旧csv进行比较,提醒用户刮取的数据是否与csv中的数据相等,跟踪更改,并用新刮取的数据更新csv 我是python新手,因此我不确定如何继续编写代码 我可以在代码中添加什么来实现这一点?非常感谢。这是我目前的代码: import requests f

我有一个python代码,可以创建一个csv文件,并用当前美国州最高法院法官的名字填充它。我已经让python搜集数据,创建一个csv并用数据填充它

我试图让python每天运行(我已经设置了windows任务调度程序),刮取相同的页面,将新数据与旧csv进行比较,提醒用户刮取的数据是否与csv中的数据相等,跟踪更改,并用新刮取的数据更新csv

我是python新手,因此我不确定如何继续编写代码

我可以在代码中添加什么来实现这一点?非常感谢。这是我目前的代码:

import requests
from bs4 import BeautifulSoup
import pandas as pd

list = ['https://ballotpedia.org/Alabama_Supreme_Court', 
'https://ballotpedia.org/Alaska_Supreme_Court', 
'https://ballotpedia.org/Arizona_Supreme_Court', 
'https://ballotpedia.org/Arkansas_Supreme_Court', 
'https://ballotpedia.org/California_Supreme_Court', 
'https://ballotpedia.org/Colorado_Supreme_Court', 
'https://ballotpedia.org/Connecticut_Supreme_Court', 
'https://ballotpedia.org/Delaware_Supreme_Court']

temp_dict = {}

for page in list:
    r = requests.get(page)
    soup = BeautifulSoup(r.content, 'html.parser')

    temp_dict[page.split('/')[-1]] = [item.text for item in 
    soup.select("table.wikitable.sortable.jquery- 
    tablesorter a")]

df = pd.DataFrame.from_dict(temp_dict, 
orient='index').transpose()
df.to_csv('State Supreme Court Justices.csv')

我不太明白你的问题。让我给你举个例子

from simplified_scrapy import Spider, SimplifiedDoc, SimplifiedMain
from datetime import datetime
import requests
class MySpider(Spider):
  name = 'ballotpedia.org'
  allowed_domains = ['ballotpedia.org']
  start_urls = [
    'https://ballotpedia.org/Alabama_Supreme_Court', 
    'https://ballotpedia.org/Alaska_Supreme_Court', 
    'https://ballotpedia.org/Arizona_Supreme_Court', 
    'https://ballotpedia.org/Arkansas_Supreme_Court', 
    'https://ballotpedia.org/California_Supreme_Court', 
    'https://ballotpedia.org/Colorado_Supreme_Court', 
    'https://ballotpedia.org/Connecticut_Supreme_Court', 
    'https://ballotpedia.org/Delaware_Supreme_Court'
  ]
  # refresh_urls = True # For debug. If efresh_urls = True, start_urls will be crawled again.
  custom_down = True # All pages are downloaded using custom methods
  def customDown(self,url):
    if url["url"] not in self.start_urls: return ""
    r = requests.get(url['url']) # Use requests to download the page and return the HTML string
    return r.content.decode('utf-8')

  def extract(self, url, html, models, modelNames):
    if url["url"] not in self.start_urls: return True
    doc = SimplifiedDoc(html)
    lstA = doc.select('table.wikitable sortable jquery-tablesorter').listA(url=url["url"]) # Get link data for subsequent crawling
    return {"Urls": lstA, "Data": lstA} # Return data to framework
  # If you want to collect start_urls regularly, override this method.
  # It returns an array of hours and minutes
  def plan(self):
    if datetime.now().weekday()>=6: # Except for weekends
      return []
    else:
      return [{'hour':8,'minute':30},{'hour':18,'minute':0}]

SimplifiedMain.startThread(MySpider()) # Start crawling

您刚刚删除了上一个问题并重新创建了它吗?这说明了如何使用
NamedTemporaryFile
更新CSV,也请检查这一点以比较两个数据帧:请澄清问题的具体内容,请参阅。