はじめまして!青学の二年生で21歳の男です!
Python初心者の者です!
https://su-gi-rx.com/archives/5838
のサイトを見ながら、Pythonスクレイピングについて学習していたのですが最後のCSV出力のところがうまくいきません。
CSVファイルは作成されているのですが中身が空っぽです、、、
コードはサイトのものをコピペしただけなので同じはずなのですがどこに問題があるのかわかりません。
解決法がお分かりの方はいらっしゃらないでしょうか?
これを試してみたら?等のアドバイスを気軽にメッセージにて送って頂けたら嬉しいです、、、
それとこのサイトに載っているコードを一から解説して頂きたいです。
なんとなーくで理解しているのですが、ちょっとやっぱり正確に理解したいところもあるので!
簡単にでいいので通話等繋げて教えてくださる親切な方がいらっしゃったら嬉しいです!
ちなみにそのコードとは
from selenium import webdriver
import time
import pandas
from webdriver_manager.chrome import ChromeDriverManager
#キーワード入力
search_word = input("検索キーワード=")
# メルカリ
url = ' https://www.mercari.com/jp/search/?keyword=' + search_word
# chromedriverの設定とキーワード検索実行
driver = webdriver.Chrome(ChromeDriverManager().install())
driver.get(url)
# ページカウントとアイテムカウント用変数
page = 1
item_num = 0
item_urls = []
while True:
print("Getting the page {} ...".format(page))
time.sleep(1)
items = driver.find_elements_by_class_name("items-box")
for item in items:
item_num += 1
item_url = item.find_element_by_css_selector("a").get_attribute("href")
print("item{0} url:{1}".format(item_num, item_url))
item_urls.append(item_url)
page += 1
try:
next_page = driver.find_element_by_css_selector("li.pager-next .pager-cell:nth-child(1) a").get_attribute("href")
driver.get(next_page)
print("next url:{}".format(next_page))
print("Moving to the next page...")
except:
print("Last page!")
break
# アイテムカウントリセットとデータフレームセット
item_num = 0
columns = ["item_name", "cat1", "cat2", "cat3", "brand_name", "product_state", "price", "url"]
df = pandas.DataFrame(columns=columns)
try: # エラーで途中終了時をtry~exceptで対応
# 取得した全URLを回す
for product_url in item_urls:
item_num += 1
print("Moving to the item {}...".format(item_num))
time.sleep(1)
driver.get(product_url)
item_name = driver.find_element_by_css_selector("h1.item-name").text
print("Getting the information of {}...".format(item_name))
cat1 = driver.find_element_by_css_selector("table.item-detail-table tbody tr:nth-child(2) td a:nth-child(1) div").text
cat2 = driver.find_element_by_css_selector("table.item-detail-table tbody tr:nth-child(2) td a:nth-child(2) div").text
cat3 = driver.find_element_by_css_selector("table.item-detail-table tbody tr:nth-child(2) td a:nth-child(3) div").text
try: # 存在しない⇒a, divタグがない場合をtry~exceptで対応
brand_name = driver.find_element_by_css_selector("table.item-detail-table tbody tr:nth-child(3) td a div").text
except:
brand_name = ""
product_state = driver.find_element_by_css_selector("table.item-detail-table tbody tr:nth-child(4) td").text
price = driver.find_element_by_xpath("//div[1]/section/div[2]/span[1]").text
price = price.replace("¥", "").replace(" ","").replace(",", "")
print(cat1)
print(cat2)
print(cat3)
print(brand_name)
print(product_state)
print(price)
print(product_url)
se = pandas.Series([item_name, cat1, cat2, cat3, brand_name, product_state, price, product_url], columns)
df = df.append(se, ignore_index=True)
print("Item {} added!".format(item_num))
except:
print("Error occurred! Process cancelled but the added items will be exported to .csv")
df.to_csv("{}.csv".format(search_word), index=False, encoding="utf_8")
driver.quit()
print("Scraping is complete!")
です!
宜しくお願いいたします!
Pythonスクレイピングに関して詳しい方お助けください!😭😭 (投稿ID : utxnw)
更新2022年5月4日 19:03
作成2022年5月4日 19:03
コメント
1件
良識のあるコメントを心がけご利用ください。
不適切な表現や、不快な言葉遣いなどは
利用制限
や
アカウント停止
の対応を取らせていただいております。

昼夜
3年弱前
print文でコンソールに出力はされていますか?
もしされてないなら、サイト自体の構成が変化してできなくなってる可能性があります。
コメント内容をご確認ください
コメントは公開されます。
短いコメントはご覧になった他のユーザー様が不快に感じることがあります。
教えての助け合いの関連記事
Pythonスクレイピングに関して詳しい... 東京 助け合い を見ている人は、こちらの記事も見ています。
-
八王子市シングルマザーで子育てをしながら 週5で…
-
八王子市AQUOSブルーレイ 2B-C10ET1…
-
大田区/蒲…初めまして! 私は日本に住んでいる韓国人…
-
町田市/栗…町田市真光寺町山林所有しております。 西…
-
葛飾区/青…近々保護猫を引き取ります。 ワクチン接種…
-
稲城市/多…どなたかオーブクエストについて御存知な…
-
世田谷区/…東京都内でカフェを開業したい者です。生パ…
-
豊島区/池…池袋西口、劇場付近、東通り周辺で魅せ方上…
-
豊島区/池…Bonjour。 チャイナドレスとダン…
-
千代田区/…全国対戦で一回も勝てず大半はノーダメ落城…
-
稲城市/南…単身赴任で知らない街にきていて 子供にシ…
-
豊島区/池…美容師免許を取得してから20年たちます。…
-
中央区/八…仕事の英語のプレゼン、web meeti…
Syunさんのその他の投稿記事
-
豊島区/池…大学4年生で23歳の男です!! 野球初心…
-
川口市/東…タイトルのとおりですー! 新卒一年目で2…
-
豊島区/池…大学4年生で23歳の男です!! 野球初心…
-
豊島区/池…タイトルのとおりですー 大学4年生で23…
-
渋谷区/渋…タイトルの通りです! 良かったら居酒屋と…
-
豊島区/池…タイトルのとおりですー! 大学4年生で2…
-
渋谷区/渋…タイトルの通りです! 良かったら居酒屋と…
-
川口市/東…タイトルのとおりですー 大学4年生で23…
-
豊島区/池…タイトルのとおりですー 大学4年生で23…
-
豊島区/池…大学4年生で23歳の男です! 野球初心者…
-
豊島区/池…大学4年生で23歳の男です! 野球初心者…
-
千代田区/…タイトルのとおりですー 大学4年生で23…
-
渋谷区/渋…タイトルの通りです! 良かったら飲みませ…
-
豊島区/池…大学4年生で23歳の男です! 野球初心者…
-
越谷市/南…タイトルのとおりですー 大学4年生で23…