크롬 확장프로그램 -> 파이썬 값 전달 방법!
크롬확장프로그램에서 현재 접속한 url을 파이썬 으로 전달 해줄 방법이있을까요?
크롬 확장 프로그램이라는 말이 좀 어색한것같은데
Html이나 javascript에서 파이썬으로 현재 접속되어있는 url을 전달하고싶습니다 도와주세요!
정확히 어떤 의도로 쓰시느냐에 따라서 구현 방식이 판이하게 달라질 것 같습니다. 제가 생각하기에 가능한 솔루션 세 가지를
말씀드리겠습니다.
1. 크롬 익스텐션을 직접 제작하는 경우
크롬 익스텐션은 제작해 본 적은 없지만, javascript로
const currentURL = window.location.href // 현재 url 저장를 사용하시면 될듯합니다. (출처: https://stackoverflow.com/questions/1034621/get-the-current-url-with-javascript)
파이썬으로 짠 코드를 쓰려면, Brython을 쓰던가 Python을 JS로 컴파일해서 쓰던가로 귀결되는 것 같습니다. (출처: https://pythonspot.com/create-a-chrome-plugin-with-python/)
저도 크롬 익스텐션을 직접 제작해본 적은 없어 완벽하게 알려드리긴 힘들기에 링크를 올려드리겠습니다.
크롬 익스텐션 제작 한글 예제: http://joyho.net/dev/14
한글 예제 3: https://sub0709.tistory.com/20
크롬 익스텐션 제작 크롬 공식 영어 예제: https://developer.chrome.com/extensions/getstarted
2. 서버를 통해서 코드 전달 (기본적인 웹/서버 지식이 있어야 편하게 하실 수 있습니다.)
무한 가지의 방법이 있지만 제가 아는 한에서 가장 빠르고 간편하게 가능한 방법을 설명드리겠습니다.
보통 프런트에서 javascript와 html로 이루어진 코드에서 서버쪽으로 정보를 넘겨주면 서버에서 백엔드 언어(이 경우에는 파이썬이 되겠네요.)로 정보를 처리합니다.
정보를 넘겨주는 방식 중에 간단하면서 흔한 방식은 http request 형식입니다. 백엔드와 프런트가 서로 http로 json 형식의 파일을 주고 받으면서
백엔드에서는 db에 저장하거나 연산/필요한 것들을 처리합니다.
추천드리는 방법은 백엔드 서버를 aws를 사용해서 lamda 혹은 ec2로 구축하셔서 백엔드에서 파이썬 연산을 하시고 프런트와 http 콜을 주고 받는 것입니다.
3. Selenium 활용
만약에 개인 프로젝트 용도라면 Selenium이라는 크롬/파이어폭스 등의 브라우저 자동화 도구로 파이썬으로 크롬을 돌릴 수가 있습니다.
제가 최근에 셀레니움을 썼을 때는 통계자료들을 자동으로 웹에서 크롤링하는 용도로 파이썬으로 코드를 짰을 때입니다. Selenium으로
크롬 창을 띄우고 현재 창에 있는 정보를 크롤링(html 소스를 beautifulsoup으로 크롤링합니다.)해서 파이썬으로 변수로 받아서 사용할 수가 있습니다.
Selenium 독학용 몇 가지 링크를 드리겠습니다. (굉장히 간단해서 반나절이면 금방 돌리실 수 있을 것입니다.)
Selenium with Python Documentation: https://selenium-python.readthedocs.io/