
はじめて Pythonを利用としているのですが、理解不足でエラーの解消ができないでおります。
NHK WORLD NEWSをWEBから 連続して、取り出して、EXCELに表示しようとしています。
作業予定としては 1⃣ 別のpy でURLのリストを取込作成 2⃣ 今回、表示しているpyの Urllistへ EXCEL経由で取り入れて、連続して読み込み、EXCELへリストアップしようとしています。
1番目のURLは問題なく EXCELへ取り込めるのですが、2番目からの取込がうまくいきません。
『ConnectionRefusedError: [WinError 10061] 対象のコンピューターによって拒否されたため、接続できませんでした。』というエラーが出ます。
解説文が WEBで検索すると多くでているのですが、理解できずに解決策が見つかりません。
(Win10 hHome 22H2、EXCEL365 Ver2306、Python3.11.4、Selenium2.0.9.0、openpyxl3.1.2 cmdのウィンドウがすぐに閉じてしまうので、読み込めず違いがあるかもわかりません?)
解決策、また、より良いコード等がありましたら、ご指摘、ご指導よろしくお願いします。
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.chrome import service as fs
import openpyxl
import datetime
CHROMEDRIVER = r"driver/chromedriver.exe"
chrome_service = fs.Service(executable_path=CHROMEDRIVER)
browser = webdriver.Chrome(service=chrome_service)
#++++++++++++++++++++++++++++++++++++
data_list = []
Urllist_list = []
#++++++++++++++++++++++++++++++++++++
Urllist_list = [
"https://www3.nhk.or.jp/nhkworld/en/news/20230706 …
"https://www3.nhk.or.jp/nhkworld/en/news/20230706 …
"https://www3.nhk.or.jp/nhkworld/en/news/20230706 …
"https://www3.nhk.or.jp/nhkworld/en/news/20230706 …
]
#++++++++++++++++++++++++++++++++++++
wb_new = openpyxl.Workbook()
ws_new = wb_new.active
row_num = 1
#########################################################browser.implicitly_wait(15)
##################################################################################################################
for Urllist in Urllist_list:
dt = datetime.datetime.now().date()
now = datetime.datetime.now()
dm = now.strftime("%x %X")
ws_new.cell(row_num, 1).value = str(Urllist)
ws_new.cell(row_num + 1, 1).value = str(dm)
row_num = row_num + 2
######################################################
browser.get(str(Urllist))
######################################################
links = browser.find_elements(By.TAG_NAME,"h1")
for link in links:
link_text = link.text
link_url = link.get_attribute("a")
data_list.append([link_text])
for data in data_list:
if data[0] != "" and data[0] != "News":
ws_new.cell(row_num, 2).value = data[0]
row_num = row_num + 1
######################################################
links = browser.find_elements(By.TAG_NAME,"p")
#data_list = []
for link in links:
link_text = link.text
link_url = link.get_attribute("p")
data_list.append([link_text])
#+++++++++++++++++++++++++++++++++++++++++++++++++++++++
for data in data_list:
if data[0] != "" :
if "Your subscription plan doesn" in data[0]:
break
if "*You will leave" in data[0] :
break
if data[0] != "News":
# テキスト
ws_new.cell(row_num, 3).value = data[0]
row_num = row_num + 1
######################################################
browser.quit()
######################################################
ws_new.title = "NHKNEWS"
wb_new.save("NHKNEWS.xlsx")
######################################################
No.1ベストアンサー
- 回答日時:
>ConnectionRefusedError
相手(NHK)から悪意あるアクセスとして接続拒否されてるのでは。
明示的に1分待つようにしてテストしてみるとか。
回答ありがとうございます。
browser.implicitly_wait(60) で 試してみましたが、結果は同様でした。
(ほかの方法があるとは思いますが、)
JAPANTIMES や YAHOO FINANCE でも、同種のデータ取得を 試していますが、1個目は取得できるが、2個目に入る時に、NHK WORLD NEWSの場合と同様に エラーとなります。
確かかどうかは不明ですが、『悪意あるアクセスとして接続拒否』 では、ないのでは、と思われるのですが―――。
(この連絡を以前にさしあげたつもりでしたが、リストアップされていないので、送信ミスだったと思われます。失礼しました。)
よろしくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ExcelVBAに関する質問 3 2023/02/17 10:47
- その他(プログラミング・Web制作) pythonでクラスで複数のメソッドを利用する方法 2 2022/04/15 04:17
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- C言語・C++・C# pythonのファイルの並びでの読み込みとリストについて 4 2022/04/13 03:52
- C言語・C++・C# C#テキストボックスの文字を配列にいれてその後表示する 4 2022/07/17 04:47
- その他(プログラミング・Web制作) Pythonで会員サイトの自動ログイン ID Nameがない 1 2022/12/16 02:09
- Excel(エクセル) VBA フォルダ見える化のコードについて 2 2023/06/19 15:04
- VPN 何これ 1 2022/04/19 01:32
- オープンソース Python openpyxlを使用したセル番地の使用について 1 2023/08/03 22:05
- その他(プログラミング・Web制作) ColabでのPytorchのエラー 1 2022/11/19 20:51
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
vba クリップボードクリアにつ...
-
数学、プログラミング、物理、...
-
pip --versionがエラーになる
-
pythonの実行に関する質問
-
Python 3.12.2 か一番最新のパ...
-
CSVファイルの複数行削除
-
google Colabでmatplotlibの描...
-
AIの登場でプログラマーたちが...
-
OS入ってる機器のソフト・アプ...
-
パイソンのソースコードをChatG...
-
プログラミングに興味があるの...
-
プログラミングの雑談がしたい...
-
Google ColaboでGUI作成
-
JRのjsonファイルって使って大...
-
画像生成AIのプロンプトの作り...
-
Pythonのエラーメッセージをコ...
-
VBAでパワーシェルを実行したい...
-
Pythonについて。
-
itエンジニアに就職希望で未経...
-
ネットワークフォルダの中身を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C# GetFilesで複数のファイルの...
-
Python - Excel で Webからデー...
-
STLのlistで重複するものだけを...
-
C言語:単語カウント
-
read.cgi等のタグの追加について
-
この曲のピアノの最後の和音が...
-
XML::DOM / XML::XPathでソート
-
PerlでXMLを解析して出力する。
-
複数のIP取得
-
leetcode21
-
どちのほうがすきですか?
-
Scheme 中置式から後置式へ
-
Pythonでのアニメーション
-
Pythonでリストの要素の順番を...
-
リストの中のDataFrameに他のDa...
-
pythonでのリスト内抽出について
-
C言語 leetcode21 Merge Two So...
-
JSONで文字列が長い時
-
Application.ScreenUpdating = ...
-
メモリをアドレスを直接指定し...
おすすめ情報
16行の data_list = [] を 49行へ
68行の #data_list = [] の # を 外す。
訂正を お願いします。
54行 link_url = link.get_attribute("a")
72行 link_url = link.get_attribute("p")
は 不要でした。 よろしく お願いします。