PythonでクローリングしたものをCSV化しています。
1ページに10件記載されているので、10件ずつテーブル内容をCSVファイルに追記していますが、
ページ遷移のたびに空行ができてしまいます。
ファイルを開くときに、 newline = '' としていればOKとのWeb情報はありましたが、
謎は解けませんでした。
取得した内容に改行コードが含まれている可能性を検討しましたが、
strip()で削除されるはずなのでこれが原因ではないと思います。
環境は下記です。
・macOSXのDOCKER17.09.0-ce上のUbuntu14.04
・Python3.5.1
python
1import csv 2from selenium import webdriver 3from bs4 import BeautifulSoup 4 5当該のループ部分 6while len(browser.find_elements_by_class_name('next')) > 0: 7 csvFile = open("scr.csv", 'at', newline = '', encoding = 'utf-8') #ファイル開く 8 writer = csv.writer(csvFile) #ライターつくる 9 browser.find_element_by_class_name('next').click() 10 soup = BeautifulSoup(browser.page_source, "html.parser") 11 table = soup.findAll("table")[0] 12 rows = table.findAll("tr") 13 14 try: 15 for row in rows: 16 csvRow = [] 17 for cell in row.findAll(['td']): 18 csvRow.append(cell.get_text().strip()) 19 writer.writerow(csvRow) #書き込み 20 finally: 21 csvFile.close()
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/10/17 11:30
2017/10/19 01:25