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

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

新規登録して質問してみよう
ただいま回答率
87.20%
スクレイピング

スクレイピングとは、公開されているWebサイトからページ内の情報を抽出する技術です。

プロキシ

プロキシは、二つ以上の相互接続されているプログラム又はデバイスの間に存在する中間サーバを指します。プロキシは、接続者の「代理」としてインターネット接続を行い、接続元にレスポンスを返します。また、その機能を実現するソフトウェアの意味合いもあります。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

受付中

Python スクレイピング についての質問

Yamada
Yamada

総合スコア3

スクレイピング

スクレイピングとは、公開されているWebサイトからページ内の情報を抽出する技術です。

プロキシ

プロキシは、二つ以上の相互接続されているプログラム又はデバイスの間に存在する中間サーバを指します。プロキシは、接続者の「代理」としてインターネット接続を行い、接続元にレスポンスを返します。また、その機能を実現するソフトウェアの意味合いもあります。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0回答

-1評価

0クリップ

4851閲覧

投稿2022/02/19 05:40

編集2022/02/19 20:44

Pythonでスクレイピングする際にrequestsにプロキシ設定をすると以下のエラーが起きます。
前までは問題なかったのですが、どこが問題なのでしょうか?プロキシ設定を指定しければ問題なく動作します。

<試したこと>
リンク先を複数試した。
proxiesの内容を複数試した。
時間を1日ほどおいた。
Colab環境なのでJupyter labも試した。
環境端末を変更した。
<エラー文>
ConnectionRefusedError Traceback (most recent call last)
MaxRetryError Traceback (most recent call last)
NewConnectionError Traceback (most recent call last)
ProxyError Traceback (most recent call last)
ProxyError: HTTPSConnectionPool: Max retries exceeded

<追記>
コード内の追記コードを使用して画像のようなjsonファイルを読み込んでプロキシ設定をしていました。前は問題がなかったのですが、同じようにしてもエラーが起きるようになってしまいました。

ボールドテキスト

Python

import requests from bs4 import BeautifulSoup URL = "https://www.cman.jp/network/support/go_access.cgi" USER_AGENT = "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36" proxies = { 'http':'https://39.108.154.193:22', 'https':'https://39.108.154.193:22' } headers = {'User-Agent': USER_AGENT} resp = requests.get(URL, proxies=proxies, headers=headers, timeout=10) resp.encoding = 'utf8' soup = BeautifulSoup(resp.text, 'html.parser') ip = soup.find(class_ = "outIp").text print(ip) #<追記> json_open = open(FILE_PATH, 'r') proxy_list = json.load(json_open) proxy_info = random.choice(proxy_list) ip = proxy_info['ip'] port = proxy_info['port'] protocol = proxy_info['protocol'] proxy = protocol + '://' + str(ip) + ':' + port proxies = { 'http':proxy, 'https':proxy}

良い質問の評価を上げる

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

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

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

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

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

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

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

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

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

melian

2022/02/19 05:46

プロキシサーバの接続先ポート番号が 22 になっていますが、それは正しいですか?
Yamada

2022/02/19 06:04

はい。今回検証のため無料のプロキシサーバを使用いたしました。 不具合あれば変更いたします。
otn

2022/02/19 09:12

エラーメッセージからは、Proxyの指定が間違っているのであろうと判断できます。
Yamada

2022/02/19 11:44

回答ありがとうございます。 proxies = { 'http':'https://39.108.154.193:22', 'https':'https://39.108.154.193:22' } こちらのコードが間違っているということでしょうか? 質問文に追記を追加いたしましたので、できればそちらも確認お願いします。

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

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

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

ただいまの回答率
87.20%

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

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

質問する

関連した質問

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

スクレイピング

スクレイピングとは、公開されているWebサイトからページ内の情報を抽出する技術です。

プロキシ

プロキシは、二つ以上の相互接続されているプログラム又はデバイスの間に存在する中間サーバを指します。プロキシは、接続者の「代理」としてインターネット接続を行い、接続元にレスポンスを返します。また、その機能を実現するソフトウェアの意味合いもあります。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。