JLOG

[Selenium] Unix, Linux에서 파이썬 안에서 프록시 설정하는 법 / how to set proxy at python in Unix 본문

Python/Crawling

[Selenium] Unix, Linux에서 파이썬 안에서 프록시 설정하는 법 / how to set proxy at python in Unix

정정선선 2020. 1. 17. 11:14

Unix에서 crawling을 위해 selenium의 webdriver를 사용해서 웹페이지를 열어주었다.

1
2
3
4
5
6
7
#! /bin/python3.6
from selenium import webdriver
 
browser = webdriver.Firefox()
 
 
http://colorscripter.com/info#e" target="_blank" style="color:#e5e5e5text-decoration:none">Colored by Color Scripter
http://colorscripter.com/info#e" target="_blank" style="text-decoration:none;color:white">cs

 

웹페이지는 열리지만, 인터넷 연결이 안되어 해당 주소로 이동하지 않는 것을 확인했다.

 

파이어폭스 설정으로 프록시를 설정을 해주었지만, 같은 문제가 발생을 하여서,

인터넷에 연결시키기 위해 파이썬 안에서 프록시를 설정해 주었다.

 

인터넷에 연결되는지 확인을 해주기 위해 google.com을 열어 samsung을 검색하는 코드를 밑에 작성해주었다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#! /bin/python3.6
from selenium import webdriver
 
#####################################################################################################
""" SETTING PROXY """
PROXY_HOST = "NUMBER OF HOST" #example "123.123.100.222"
PROXY_PORT = "NUMBER OF PORT" #example 11 (반드시 int여야 함)
 
profile = webdriver.FirefoxProfile()
 
#프록시 타입 설정
profile.set_preference("network.proxy.type"1)              #1은 'Manual proxy configuration'로 설정 (참고)
 
#http_host, http_port 설정
profile.set_preference("network.proxy.http", PROXY_HOST)
profile.set_preference("network.proxy.http_port", PROXY_PORT)
 
#socks_host ,socks_port 설정
profile.set_preference('network.proxy.socks', PROXY_HOST)
profile.set_preference('network.proxy.socks_port', PROXY_PORT)
 
#https_host, http_port 설정
profile.set_preference("network.proxy.ssl", PROXY_HOST)
profile.set_preference("network.proxy.ssl_port", PROXY_PORT)
 
#ftp_host, ftp_port 설정
profile.set_preference('network.proxy.ftp', PROXY_HOST)
profile.set_preference('network.proxy.ftp_port', PROXY_PORT)
 
profile.update_preferences()
 
#####################################################################################################
 
browser = webdriver.Firefox(firefox_profile=profile) #파이어폭스 열기
browser.implicitly_wait(3)
 
browser.get('https://www.google.com')                #구글로 이동
 
search = browser.find_element_by_name('q')
search.send_keys('samsung')                          #'samsung' 검색
 
 
 
http://colorscripter.com/info#e" target="_blank" style="color:#e5e5e5text-decoration:none">Colored by Color Scripter
http://colorscripter.com/info#e" target="_blank" style="text-decoration:none;color:white">cs

(참고)profile.set_preference("network.proxy.type"1) 의 모드에 관한 정보는 여기로 가면 알 수 있다

 

코드를 실행하면 구글에 samsung이 잘 검색되는 것을 확인할 수 있다.

 

Comments