2021. 4. 19. 21:13ㆍ서버 프로그래밍
웹페이지 크롤링시에 동적으로 HTML이 렌더링을 하는 사이트들은 전통적인 간단한 방법으로는 최종 HTML을 가져올수가 없다. 따라서, Chrome과 같은 웹브라우저를 이용하여 해당 페이지의 렌더링을 한 다음, 최종 렌더링된 HTML을 가져오는 방법이 필요하다.
1. Ubuntu에 Chrome 설치
2. Ubuntu에 ChromeDriver 설치
3. Python에 Selnium 설치
4. Selenium을 이용하여 ChromeDriver를 호출하여 Chrome 실행 및 결과값 가져오기
<주의> uWSIG로 실행시에는 admin 계정으로 실행이 되는 것이 아니므로 다음 2가지 사항에 대한 조치가 필요함
- chrome driver의 옵션에서 log 폴더 경로 등은 접근 가능한 곳으로 지정
- chrome과 chrome driver의 실행 경로를 config 파일에 지정
The missing commands in question are usually present in /bin or /usr/bin, adding these to the path variable will likely solve your problem
Environment="PATH=/home/gbadmin/myproject/myprojectenv/bin:/usr/bin:/bin"
stackoverflow.com/questions/45906997/uwsgi-python-subprocess-chrome-firefox-failed
Ubuntu에 Chrome 설치 방법
Chrome Web Driver와 Selenium 설치 및 사용 방법
linuxhint.com/chrome_selenium_headless_running/
Selenium 공식 레퍼런스
selenium-python.readthedocs.io/
역시 오래된 레퍼런스는 불필요한 시간 낭비를 초래한다.
blog.testproject.io/2018/02/20/chrome-headless-selenium-python-linux-servers/
www.tutorialspoint.com/python_web_scraping/python_web_scraping_dynamic_websites.htm
stackoverflow.com/questions/62440799/cant-run-selenium-on-ubuntu-with-python
github.com/ponty/pyvirtualdisplay/tree/2.1
www.pythonanywhere.com/forums/topic/27144/