1
1

PythonでSeleniumを使ってFirefoxのプロキシを通したい!

Posted at

この記事で伝えたいこと

↓↓↓httpsにプロキシを設定したいときはこれを使おう↓↓↓
profile.set_preference("network.proxy.type", 1)
profile.set_preference("network.proxy.ssl", "hogehoge")
profile.set_preference("network.proxy.ssl_port", 8080)

なんでhttpsじゃなくてsslなのかは調べてないよ
(単純にそういう名前じゃないからって言われたらそうなのかもしれない)
プロキシについてうまく理解してないので、そもそもプロキシを通すとか間違ってたらごめんなさい。

大事なこと

スクレイピングの話題ってなんとなく、危ない気がしなくもないですが・・・
スクレイピングを使用するときは用法用量を守りましょう。
サイト側で定められていることなどは、ちゃんと読みましょうね...。

概要

備忘録がてら、微妙に詰まったのでまとめてみました。

ところで、会社とかに所属してるとサイトによってはプロキシ通さないと接続できないとかありますよね?
(この辺正直ちょっと曖昧です。)

自分のPC自体の設定でプロキシ通ってたりしても実際スクレイピングしてるPC(リモート接続してる時とか?)はプロキシ通ってない、って場面ありませんか?ありますよね?

また、PCの設定を直接いじるのはみんな使ってるし億劫だななんて事あると思います。

本題

そんなときはこれ!

profile.set_preference("network.proxy.type", 1)
profile.set_preference("network.proxy.ssl", "hogehoge")
profile.set_preference("network.proxy.ssl", 8080)

このコードを使うことで、下記のようなFirefoxの設定を書き換えたのとおなじになります。
image.png
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
image.png

スクリーンショットでは何も書き込んでいませんが、これは「手動でプロキシーを設定する」「HTTPSプロキシー」に「hogehoge」と入れて、「ポート」は「8080」とすると同意義です。
※「http://hogehoge:8080/」のような形の場合の話です。

逆に言ってしまえば、Firefoxの設定を手でいじれる環境だとするならばここの設定をいじってあげればよいのです。
また、以下のように変えるとHTTPやSOCKSの項目にも値を入れることができます。

profile.set_preference("network.proxy.type", 1)
profile.set_preference("network.proxy.http", "hogehoge")
profile.set_preference("network.proxy.http", 8080)
# もしくは・・・
profile.set_preference("network.proxy.type", 1)
profile.set_preference("network.proxy.socks", "hogehoge")
profile.set_preference("network.proxy.socks", 8080)

余談

冒頭にも書きましたが、なんで「https」ではなく、「ssl」なんでしょうかね?
調べてないのでわかりませんが、どこかに書いてあったりするんでしょうか?
筆者はなんで「network.proxy.https」じゃ動かないんだろうと地味に悩まされました。

なんだか、短い気がしなくもないですが・・・
また前回から1ヶ月近くあいちゃったし、とにかく書くのが大事やろの精神で書きました。

参考

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1