我使用多处理池来提高抓取速度,一切都还好,只是我不明白为什么python为什么每隔30行写入csv的标头,我知道我输入的池的参数有一个链接,但是如何可以纠正这种行为
def parse(url):
dico = {i: '' for i in colonnes}
r = requests.get("https://change.org" + url, headers=headers, timeout=10)
# sleep(2)
if r.status_code == 200:
# I scrap my data here
...
pprint(dico)
writer.writerow(dico)
return dico
with open(lang + '/petitions_' + lang + '.csv', 'a') as csvfile:
writer = csv.DictWriter(csvfile, fieldnames= colonnes)
writer.writeheader()
with Pool(30) as p:
p.map(parse, liens)
有人可以告诉我们将'writer.writerow(dico)'放在哪里以避免重复标题吗?谢谢
检查文件是否存在:
看起来像您指的“标题”来自writer.writeheader()
行,而不是writer.writerow()
行。