前提・実現したいこと
プログラミング初心者です。Python3.6.4でseleniumを使い、
Webスクレイピングをしたいと思っています。しかし、ページ内の
必要な要素をxpathで指定して抜き出し、CSVファイルに保存した
つもりが、中身を見ると次のような文字列が並んでいます。
どうすれば要素の中身が保存できるでしょうか?
ご教示いただけるとうれしいです。
発生している問題・エラーメッセージ
CSVファイルの中身は、次のような文字列になっています。
"[<selenium.webdriver.remote.webelement.WebElement (session=""0daf7b54557cdd8a62f84f4ef9eca9bd"", element=""0.5295562174369803-1"")>, <selenium.webdriver.remote.webelement.WebElement (session=""0daf7b54557cdd8a62f84f4ef9eca9bd"", element=""0.5295562174369803-2"")>, <selenium.webdriver.remote.webelement.WebElement (session=""0daf7b54557cdd8a62f84f4ef9eca9bd"", element=""0.5295562174369803-3"")>,
該当のソースコード
from selenium import webdriver import csv import time CHROME_PATH = "xxxxxxxxxxxx" TARGET_URL = "https://xxxxxxxxxxxx/" driver = webdriver.Chrome(CHROME_PATH) driver.get(TARGET_URL) driver.find_element_by_class_name("searchInput").send_keys("xxxxxxxxxxxx") #サイト内検索窓に特定のキーワードを入力 driver.find_element_by_class_name("searchButton").click() #検索ボタンをクリック driver.find_element_by_xpath('//a[contains(text(), "記事")]').click() #「記事」という文字列の含まれるリンクをクリック csvw = csv.writer(open("output.csv", "w", encoding = "utf-8", newline = "\n"), delimiter = "\t") #CSVファイルを用意 csvlist = [] #必要な要素を保存するためのリストを用意 for i in range(10): comp = driver.find_elements_by_xpath('//div[@class="xxxxxxx"]') #xpathでHTMLファイルから抜き出したい箇所を指定して変数に格納 csvlist.append(comp) #抜き出した要素をあらかじめ用意しておいたリストに格納 csvw.writerow(csvlist) #リストに格納した要素をCSVファイルに書き込み
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2018/08/29 10:06 編集
退会済みユーザー
2018/08/29 10:35