プロキシサーバに接続して,スクレイピングを行いたいと考えています.
以下のコードでは,プロキシサーバ接続確認のため「確認くん」というサイトを指定しています.
os.environ['http_proxy']というものがプロキシ設定の環境変数ということなので,指定をしています.下記コードではusername等に変えていますが,実際は具体値を入れています.
これを実行すると,単純に自分のマシンのIPアドレスが表示されます.
途中でprint(urllib.request.getproxies())として,環境変数が変わっているか確認しています.ここでは正しく指定した値が入っているようですが,適当に'aaa'と指定してもこの文字列が出力されました.そのため,設定が違う可能性もありますが,一応何度も確認やブログ等の情報も参考にしています.
なにかお気づきのことがあればお教えいただけると幸いです.
WIndows10を用いています.
python
1import requests 2import urllib 3import os 4from bs4 import BeautifulSoup 5 6def main(): 7 os.environ["http_proxy"]= "http://username:password@server_ip:port" 8 headers = { 9 "User-Agent": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:47.0) Gecko/20100101 Firefox/47.0", 10 } 11 print(urllib.request.getproxies()) 12 request = urllib.request.Request(url="https://www.ugtop.com/spill.shtml", headers=headers) 13 res = urllib.request.urlopen(request) 14 soup = BeautifulSoup(res, 'lxml') 15 print(soup)