私はPythonが初めてで、いくつかの分析アカウントにログインしていくつかのデータをCSVに出力する単純なスクレーパーを作成しました。私が CSV に出力している形式は、次のコードで作成した辞書です。
import csv
from collections import OrderedDict
import time
def save_file(website, visitors, links, sources):
date = time.strftime("%d/%m/%Y")
d = OrderedDict()
d['Title'] = website # website string
d['Date'] = date # date string
d['Vistors'] = visitors # integer
d['Links'] = links # dictionary of links - URL : Clicks
d['Sources'] = sources # dictionary of sources - Source: Clicks
path = os.path.expanduser('~/Desktop/Traffic Report.csv')
with open(path, 'a') as f:
writer = csv.DictWriter(f, d, delimiter=',')
writer.writerow(d)
このコードを使用して CSV に出力すると、サイト、日付、および訪問者のセルがうまく機能します。以下に示すように、リンク/ソース セル (ビューティフルスープを使用してスクレイピングしているデータ) は、余分な引用符と文字でいっぱいです。
{"['www.example1.com/']": '1', "['www.example2.com']": '1', "['www.example3.com']": '1', "['www.example4.com/']": '3', "['www.example5.com/']": '1'}
{"['Links']": '2', "['Social media']": '5', "['Direct']": '2', "['Searches']": '1'}
これらの文字の多くを削除してcsvに出力する方法はありますか: www.example1.com : 1, www.example2.com : 1, www.example3.com : 1...
どんな助けでも大歓迎です!