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

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

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

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

selenium

Selenium(セレニウム)は、ブラウザをプログラムで作動させるフレームワークです。この原理を使うことにより、ブラウザのユーザーテストなどを自動化にすることができます。

解決済

WEBスクレイピング 連続でseleniumが動かない python

tsuru0508
tsuru0508

総合スコア65

Python 3.x

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

selenium

Selenium(セレニウム)は、ブラウザをプログラムで作動させるフレームワークです。この原理を使うことにより、ブラウザのユーザーテストなどを自動化にすることができます。

2回答

-1評価

1クリップ

268閲覧

投稿2022/05/05 15:50

お世話になっております。
pythonでウェブスクレイピングをチャレンジしております。

ConnectionRefusedError: [WinError 10061] 対象のコンピューターによって拒否されたため、接続できませんでした。
Failed to establish a new connection: [WinError 10061] 対象のコンピューターによって拒否されたため、接続できませんでした。'))

といったエラーに悩まされております。

やりたい事は、
Aのサイトからデータを取得後、
Bのサイトへデータを登録です。

Aのサイトは、商用?サイトで
Bのサイトは、私が管理しているサイトです。
複数ある商用サイトの売上金額を一覧でみたいので、
ウェブスクレイピングを使おうと考えました。

コードは、貼ってある通りです。
Aサイトからはデータを取得できます。
(先日のアドバイスで取得できるようになりました)

Bサイトへ接続する際の
driver1 = webdriver.Chrome(executable_path="C:\py-mssp\chromedriver.exe", options=options)
で、上記のエラーが発生していると考えています。

ウェブスクレイピングは沢山のサイトから値を自動的に
取得出来ると聞いているので、これくらいの事はできるのかなと。
何か、根本的な条件が抜けているのかなと考え調べましたが、
上記エラーを解決する方法が見つかりませんでした。

何かヒント等を頂けると幸いです。

どうぞよろしくお願いします。

# coding: UTF-8 from time import sleep from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.chrome.options import Options from selenium.webdriver.common.keys import Keys # ヘッドレスモードの設定。 options = Options() options.add_argument('--headless') options.add_experimental_option('excludeSwitches', ['enable-logging']) # Chromeを起動 driver = webdriver.Chrome(executable_path="C:\py-mssp\chromedriver.exe", options=options) # ログインページを開く url = 'https://aaaaa.com' login = '****@***.***' password = '********' driver.get(url) # ログオン処理 driver.find_element_by_name("userid").send_keys(login) driver.find_element_by_name("password").send_keys(password) driver.find_element_by_id("doLogin").send_keys(Keys.ENTER) # ブラウザの描写が完了させるためにsleep sleep(10) a = driver.find_element_by_css_selector("chromeから取得したselector") print(a.text) driver.quit() driver.close() sleep(30) # Chromeを起動 driver1 = webdriver.Chrome(executable_path="C:\py-mssp\chromedriver.exe", options=options) # ログインページを開く url = 'https://bbbbb.com' tempoid = 1 driver1.get(url) print("here") driver1.find_element_by_name("tempoid").send_keys(tempoid) driver1.find_element_by_name("uriage").send_keys(a.text) driver1.find_element_by_id("btnok").send_keys(Keys.ENTER) print("there") driver1.quit() driver1.close()

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

meg_

2022/05/05 16:00

対象のサイトがスクレイピングを禁止していて何らかの対策をしている可能性はありませんか?
tsuru0508

2022/05/05 16:22

meg_様 夜分にありがとうございます。 Aサイトに接続する部分をコメントアウトして、Bサイトに接続するだけの コードにした場合、データの登録は出来ておりました。 ただ、driver1.closeかdriver1.quitのところだと思いますが、 質問の際にしたエラーは表示されておりました。 今日はこれで失礼します。おやすみなさい。
meg_

2022/05/05 17:03

そもそもエラーは何処で(どの行で)発生しているのでしょうか? 確認ですが対象サイト(Aサイト)はスクレイピングしても良いサイトなんですよね?
tsuru0508

2022/05/05 23:35

おはようございます。 1行ずつプリント文をいれたところ、最初の driver.close というところで発生しています。 # ブラウザの描写が完了させるためにsleep sleep(10) a = driver.find_element_by_css_selector("chromeから取得したselector") print(a.text) driver.quit() print("aa") <-- このプリントは表示されている driver.close()  <-- ここでエラーだと思います。 sleep(30) なお、Aサイトのスクレイピングは、特に禁止はされていません。 よろしくお願いします。

まだ回答がついていません

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

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

ただいまの回答率
87.20%

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

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

質問する

関連した質問

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

Python 3.x

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

selenium

Selenium(セレニウム)は、ブラウザをプログラムで作動させるフレームワークです。この原理を使うことにより、ブラウザのユーザーテストなどを自動化にすることができます。