解決したいこと
pythonでスクレイピングし、CSVに出力したいと思っておりますが、
CSV出力が上手くいきません。
解決方法を教えて頂きたいです。
発生している問題・エラー
<div class="facilitieInfo"> <p class="facilitieType"><img alt="クリニック" src="/images/iconTypeClinic.png"/></p> <address> <p>〒254-0084</p> <p>神奈川県平塚市南豊田314-1</p> <ul class="contactInfo"> <li class="tel">TEL:0463-37-6220</li> </ul> </address> </div>または
File "python4.py", line 38
SyntaxError: Non-UTF-8 code starting with '\x8f' in file python4.py on line 38, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details
該当するソースコード
import requests, bs4 import time import os import pandas as pd import codecs from urllib.parse import urljoin import csv data_col = ["information1", "information2"] loopcnt = 1 dynamic_url = "https://www.jda-tnavi.com/kanagawa" pageurlnow = "A" while True: if loopcnt == 1: pageurlnow = "https://www.jda-tnavi.com/kanagawa" else: pageurlnow = "https://www.jda-tnavi.com/kanagawa/page/" + str(loopcnt) res2 = requests.get(pageurlnow) if bool(res2) == False: break res2.raise_for_status() soup = bs4.BeautifulSoup(res2.text, "html.parser") elems1 = soup.select('.facilitieInfo') elems2 = soup.select('.facilitieName') print(str(pageurlnow)) csvlist = [] for elem1,elem2 in zip(elems1,elems2): print(elem1.text) print(elem2.text) csvlist.append(elem1) loopcnt = loopcnt +1 time.sleep(5) f = open("output.csv", "w") writecsv = csv.writer(f, lineterminator='\n') writecsv.writerow(csvlist) f.close()
自分で試したこと
他で調べたコードなども試してみましたが上手くいきません。
宜しくお願い致します。
回答1件
あなたの回答
tips
プレビュー