質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.83%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Scrapy

Scrapyは、Pythonで開発されたオープンソースソフトウェアです。スクレイピングという、Webサービスから必要な情報を取り出したり自動操作をしたりする技術を使うものです。

Q&A

受付中

グーグルニュースの検索ボックスにワードが自動で入力できない。

pengin0114
pengin0114

総合スコア0

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Scrapy

Scrapyは、Pythonで開発されたオープンソースソフトウェアです。スクレイピングという、Webサービスから必要な情報を取り出したり自動操作をしたりする技術を使うものです。

1回答

0グッド

0クリップ

283閲覧

投稿2023/02/18 16:15

実現したいこと

ここに実現したいことを箇条書きで書いてください。

  • seleniumでブラウザ操作して、beautifulsoupで取得したグーグルニュースの情報をエクセルファイルに出力したい。

前提

ここに質問の内容を詳しく書いてください。
pythonでウェブスクレイピングを勉強しています。
ユーチューブ動画やサイトなどを調べて作ってみましたが、グーグルニュースをfirefoxで開いたあと、検索ボックスに調べたいワードが自動で入力されず、サイトが開くだけで止まってしまいます。
pc:thinkpad x395
os:Ubuntu 22.04.1 LTS
エディタ:visual studio code

発生している問題・エラーメッセージ

エラーメッセージ input_tag_name = driver.find_element(By.CLASS_NAME,'Ax4B8 ZAGvjd') File "/home/pengin/.local/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py", line 856, in find_element return self.execute(Command.FIND_ELEMENT, { File "/home/pengin/.local/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py", line 434, in execute self.error_handler.check_response(response) File "/home/pengin/.local/lib/python3.10/site-packages/selenium/webdriver/remote/errorhandler.py", line 243, in check_response raise exception_class(message, screen, stacktrace) selenium.common.exceptions.NoSuchElementException: Message: Unable to locate element: .Ax4B8 ZAGvjd Stacktrace: RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8 WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:180:5 NoSuchElementError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:392:5 element.find/</<@chrome://remote/content/marionette/element.sys.mjs:133:16 ### 該当のソースコード ```ここに言語名を入力 python3 ソースコード import urllib.request from bs4 import BeautifulSoup import pandas as pd from urllib.parse import urljoin from selenium import webdriver import time from selenium.webdriver.common.by import By from selenium.webdriver.common.keys import Keys #キーボード操作のためのモジュール import datetime now = datetime.datetime.now() # 現在時刻の取得 today = now.strftime('%Y年%m月%d日') # 現在時刻を年月曜日で表示 #検索蘭にキーワードを記入 keys = input("検索キーワード:") seach_word = input('絞り込み') #Google Chromeのドライバを用意 driver = webdriver.Firefox() #Google mapsを開く news = "https://news.google.com/topics/CAAqJggKIiBDQkFTRWdvSUwyMHZNRFZxYUdjU0FtcGhHZ0pLVUNnQVAB?hl=ja&gl=JP&ceid=JP%3Aja" driver.get(news) time.sleep(5) input_tag_name = driver.find_element(By.CLASS_NAME,'Ax4B8 ZAGvjd') #データ入力 input_tag_name.send_keys(seach_word) input_tag_name.send_keys(seach_word) input_tag_name.send_keys(Keys.ENTER) #エンターキーを押す class Scraper: def __init__(self,site): self.site = site def scrape(self): r = urllib.request.urlopen(self.site) html = r.read() parser = "html.parser" soup = BeautifulSoup(html,parser) titals = [] urls = [] seach_url = 'https://news.google.com/search' for tag in soup.find_all(class_ = "VDXfz"): tital = tag.get("aria-label") url = tag.get("href") if seach_word in tital: titals.append(tital) url = urllib.parse.urljoin(seach_url,url) urls.append(url) df = pd.DataFrame() df [today] = titals df ['URL'] = urls df.to_csv('web.csv', mode = 'a',index=False) Scraper(news).scrape() ### 試したこと ここに問題に対して試したことを記載してください。 ### 補足情報(FW/ツールのバージョンなど) ここにより詳細な情報を記載してください。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

下記のような質問は推奨されていません。

  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

回答1

0

CSS selector を使ってみてはどうでしょうか。

python

1#input_tag_name = driver.find_element(By.CLASS_NAME,'Ax4B8 ZAGvjd') 2input_tag_name = driver.find_element(By.CSS_SELECTOR,'.Ax4B8.ZAGvjd')

投稿2023/02/18 16:49

melian

総合スコア17604

下記のような回答は推奨されていません。

  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.83%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Scrapy

Scrapyは、Pythonで開発されたオープンソースソフトウェアです。スクレイピングという、Webサービスから必要な情報を取り出したり自動操作をしたりする技術を使うものです。