[파이썬]셀레니움을 이용해 geoip 업데이트 자동화# Script/Python2021. 4. 30. 08:11
Table of Contents
728x90
반응형
geoip을 업데이트 하기위해서는 로그인을 해서 최신버전을 그때 그때 다운로드를 받아야합니다.
사실 3개월정도에 한번 할까 말까라 좀 귀찮아서 자동화해볼려고합니다. 스타트~
설치환경
centos7
1. python3 install
[daraksharavim.tistory.com]$ yum -y install python3
[daraksharavim.tistory.com]$ yum install python3
[daraksharavim.tistory.com]$ pip3 install -U pip
[daraksharavim.tistory.com]$ pip install beautifulsoup4
[daraksharavim.tistory.com]$ pip install selenium
2. chrome install
[daraksharavim.tistory.com]$ yum -y install https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm
[daraksharavim.tistory.com]$ google-chrome --version
Google Chrome 106.0.5249.103
3. chrome driver install
https://sites.google.com/a/chromium.org/chromedriver/
4. GeoLite2 auto download
from selenium import webdriver
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('--headless')
chrome_options.add_argument('--no-sandbox')
chrome_options.add_argument("--single-process")
chrome_options.add_argument("--disable-dev-shm-usage")
driver = webdriver.Chrome("./chromedriver",chrome_options=chrome_options)
driver.get("https://www.maxmind.com/en/account/login")
driver.find_element_by_name('username').send_keys("[아이디]")
driver.find_element_by_name('password').send_keys("[비밀번호]")
driver.find_element_by_xpath('//*[@id="main-login-form"]/fieldset/div[4]/button').click()
driver.get("https://www.maxmind.com/en/accounts/171946/geoip/downloads")
downloads = driver.find_elements_by_link_text("Download ZIP")
num = 0
for download in downloads:
num = num + 1
if num == 3:
download.click()
5. csv2dat converter
[daraksharavim.tistory.com]$ yum -y install python-ipaddr.noarch git
[daraksharavim.tistory.com]$ git clone https://github.com/sherpya/geolite2legacy.git
[daraksharavim.tistory.com]$ geolite2legacy.py -i GeoLite2-Country-CSV_*.zip -f geoname2fips.csv -o GeoIP.dat
6. apache(httpd.conf설정 변경)
httpd.conf에 설정된 geoipdbfile경로에 복사해줍니다.
<IfModule geoip_module>
GeoIPEnable On
GeoIPDBFile /usr/share/GeoIP/GeoIP.dat
</IfModule>
다크쉐라빔의 주절주절 :: GeoIP apache설정 (tistory.com)
7. end
단점(?)이 아래와 같이 다운로드 히스토리에 남음
참고
thesoul214.github.io/python/2019/05/30/Python-Selenium-1.html
workingwithpython.com/howtouseselenium-3/
728x90
반응형
'# Script > Python' 카테고리의 다른 글
[파이썬]bluetooth_adapter_winrt.cc:1074 Getting Default Adapter failed error (0) | 2021.05.19 |
---|---|
[파이썬]셀레니움을 이용한 특정부분만 하이라이트 적용 (0) | 2021.05.07 |
[파이썬]unknown error: DevToolsActivePort file doesn't exist (0) | 2021.04.30 |
[파이썬]beautifulsoup를 이용한 사이트 정보 추출 (0) | 2021.04.29 |
[파이썬]텔레그램 푸시 (0) | 2018.08.02 |
@다크쉐라빔 :: 다크쉐라빔의 주절주절
안녕하세요. 이곳은 IT위주의 잡다한 정보를 올려두는 개인 블로그입니다.
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!