【发布时间】:2017-05-03 19:01:11
【问题描述】:
我有一个脚本,用于从网站上抓取数据并将其存储到电子表格中
with open("c:\source\list.csv") as f:
for row in csv.reader(f):
for url in row:
r = requests.get(url)
soup = BeautifulSoup(r.content, 'lxml')
tables = soup.find('table', attrs={"class": "hpui-standardHrGrid-table"})
for rows in tables.find_all('tr', {'releasetype': 'Current_Releases'})[0::1]:
item = []
for val in rows.find_all('td'):
item.append(val.text.strip())
with open('c:\output_file.csv', 'a', newline='') as f:
writer = csv.writer(f)
writer.writerow({url})
writer.writerows(item)
截至目前,当此脚本运行时,CSV 文件底部会添加大约 50 条新行(完全预期与 append 函数一起使用),但我希望它做的是确定是否有重复的条目在 CSV 文件中并跳过它们,然后更改不匹配项。
我觉得这应该是可能的,但我似乎想不出办法
有什么想法吗?
【问题讨论】:
-
不要通过将问题替换为问题的答案来“修复”您的问题。作为一个问题不再有意义,所以我恢复了旧版本。如果您确信您自己的解决方案会为您给出的答案添加一些内容(在这种情况下,您不应该这样做),然后为您自己的问题创建一个答案,解释您是如何解决问题的。但是问题是;编辑是为了澄清问题,而不是让它消失。
标签: python python-3.x csv