파이썬(python)이라는 언어는 직관적이며, 다양한 기능들과 호환성이 좋아 많은 사람들이 이용하고 있습니다. 처음 코딩을 접할 때도 충분히 추천할 수 있습니다.
프로그램 언어의 직관성이 좋다는 것은 결국, 그 언어의 구성을 이해하는데 중요하게 작용합니다.
여기서 말하는 직관성은 인간의 언어체계를 닮아 있다는 것을 의미합니다.
더욱이, 파이썬은 많은 정보가 대중에게 공개되어 있습니다. 공유를 좋아하는 프로그래머들의 특성일까요. 다양한 커뮤니티와 사이트에서 라이브러리, 프레임워크등의 사용방법에 대해 언급하고 있습니다.
가장 대표적으로 쉽게 접할 수 있는 부분은 ‘사무 자동화’입니다. 물론, 더 많은 기능을 수행할 수 있습니다.
사무 자동화는 반복되는 작업을 알아서 처리해주는 것을 의미합니다.
예를 들어, 엑셀 데이터를 정리하고, 특정 양식을 만드는데 좋은 도구로 파이썬을 이용할 수 있습니다.
또한, 웹 페이지의 데이터를 수집하고, 조회하는데도 파이썬은 사용될 수 있습니다. 이때 사용되는 라이브러리로 requests, BeautifulSoup, elenium등이 있습니다.
최근에는 웹페이지에 사용자의 능동적인 조작이 필요한 경우가 많습니다. 자바스크립트를 이용해 보다 시각적으로 뛰어난 효과를 구현하고 있습니다.
requests, BeautifulSoup의 경우 정적으로 웹 소스를 파싱하는 역할에 특화되어 있습니다. 따라서, 능동적인 조작이 필요한 경우에는 한계가 있습니다.
이런 경우 사용할 수 있는 것이 selenium입니다. 자바스크립트를 활용할 수 있다는 최대의 장점이 있지만, 속도가 느리다는 단점이 있습니다.
장단점이 분명하기에 사용자의 목적, 취향에 따라 반응이 달라질 수 있습니다.
가볍게 인터넷 포털에서 ‘파이썬 셀레니움’을 검색만 해도 셀 수 없을 정도로 많은 문서를 확인할 수 있습니다.
대표적으로 selenium을 import 하고, 기본적인 명령어, 조작에 대한 내용입니다.
기본적인 내용은 비슷하지만, 필력에 따라 설명되어진 포스팅의 이해도는 달라질 수 있습니다.
이 부분은 사용자 개인의 취향에 따라 선택하시면 도움이 될 수 있습니다.
이렇게 살펴보면 파이썬에서만 셀레니움을 활용할 수 있다는 편견이 생길 수 있습니다.
파이썬이 아무리 다른 언어보다 접근성이 좋다고 해도 새로운 것을 익히는 것은 쉬운일이 아닙니다.
따라서, 하나의 언어를 익히고 다른 언어에 관심을 가진다는 것은 절대 쉬운일이 아닙니다.
다만, 경우에 따라서는 특화된 언어에서 차이를 보일 수 있습니다.
이럴 때는 과감하게 도전할 필요성도 있을 것입니다. 웹 서버에서 작동하고, 오래전부터 사용했던 언어가 있습니다. PHP가 바로 그것이죠.
웹페이지를 구성하기 위해서 대표적으로 사용되는 프로그래밍 언어라고 할 수 있습니다.
여기에 페이지를 구성할 수 있는 html, css, javascrip등을 추가하면, 우리가 사용하는 웹페이지 서비스가 완성되게 됩니다.
웹 서비스 중에는 다양한 데이터를 활용하는 경우가 종종 있습니다.
데이터를 가져와 분석 보고서 형태의 서비스를 만들기 위해서는 각 데이터를 수집할 수 있어야 합니다.
이 부분을 php언어가 해주어야 하는데, 동적인 페이지의 데이터를 가져오기 위해서는 셀레니움과 같은 라이브러리의 도움을 받을 필요가 있습니다.
▪php selenium을 사용.
즉, php에서도 webdriver인 셀레니움을 사용할 수 있다는 것입니다. 해당 부분은 단순하게 생각하면 별거 아니게 생각할 수 있습니다.
사용가능한 기능을 사용할 수 있다고 언급하는 것이 크게 중요한 문제는 아니니 말이죠.
👉 PHP 언어에 대한 대략적인 이해를 도울 수 있는 문서
하지만, 이런 사실을 인지하지 못하고 문제에 직면하게 되면 쉽지 않은 고난이 이어질 수 밖에 없습니다.
프로그래밍을 한다는 것은 결국, 다양한 문제를 최선의 방법으로 해결하고 고객 혹은 자신의 필요성을 만족시켜주는 행위이기 때문입니다.
갑작스러운 문제점을 만나면 당황하기 마련이지만, 그 해결점으로 찾아가는 길을 알고 있다면 조금은 수월해질 수 있습니다.
다만, php에서 selenium, webdriver를 능숙하게 조작하는 것은 별도의 문제입니다. 많은 연습과 학습이 필요한 부분입니다.
많은 기능이 포함되어 있어도 사용자가 그 기능에 숙달 되지 않는다면 없는 기능과 마찬가지일 것입니다.