Python初心者です。webスクレイピングの練習をしています。
ロイター通信のAPIを使って、ヘッドラインニュースの記事名と説明文をスクレイピングしようとしています。
python
1import requests 2url = 'https://newsapi.org/v2/top-headlines?sources=reuters&apiKey=77d45426f1994acc9f516c3619acc2b6' 3data = requests.get(url).json() 4 5with open('reuterNews.csv', 'w') as f: 6 f.write('"{0}","{1}","{2}"\n'.format('title', 'description',"19/03/05")) 7 for article in data['articles']: 8 articleTitle = article['title'] 9 articleDescription = article['description'] 10 f.write('"{0}", "{1}"\n'.format(articleTitle, articleDescription))
requestを使ってURLを取得しcsvに落とすことはできるのですが…
作成したcsvファイルをExcelで表示しようとすると、英文に含まれている「,」で勝手に区切られてしまいます。
例えば6行目の「Stocks stall, dollar stands tall~~」というタイトルの記事では、タイトル部分は区切られていませんが、説明文のところが2列に分かれています。
ちなみに、csvファイルをワードパッドで開いたときの該当記事部分は以下のようになります。
text
1"Stocks stall, dollar stands tall as China trims growth targets", "World shares stalled near a five-month high on Tuesday as China cut its growth targets to a 30-year low but added more stimulus, and a revived dollar headed for a fifth day of gains in the currency markets."
試しにarticleDescription変数が入る「"{1}"」を''(シングルクォーテーション)で囲んでみましたが、csvファイルで開いたときに記事の説明文についている""(ダブルクォーテーション)が外れただけで、2つに分かれる問題は解消できませんでした。
どのようにしたら2つに区切られずにスクレイピングすることができるのでしょうか?
何かヒントをいただけると嬉しいです。よろしくお願いします。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/03/07 08:40