파이썬30 셀레니움에서 스크롤을 하는 다양한 방법 구글링을 하니 셀레니움으로 스크롤을 하는 방법을 찾는 글들이 많았다. 나도 인스타그램 글에 올려 두었으나, 다른 글들의 유입을 위해 따로 글로 써둔다. 혹시나 더 필요한 스크롤 방법이 있다면 추가해보겠다. 일반적으로 셀레니움에서의 스크롤은 자바스크립트를 이용해서 구현한다. 1. 원하는 높이 Y까지 스크롤 driver.execute_script("window.scrollTo(0, Y)") 2. 문서의 끝까지 1회 스크롤 driver.execute_script("window.scrollTo(0, document.body.scrollHeight);") 3. 문서의 제일 끝까지 스크롤 SCROLL_PAUSE_TIME = 0.5 # Get scroll height last_height = driver.execut.. 파이썬 2023. 5. 26. 학교 크롬북에 파이썬 개발환경 만들기 이번에 아이들과 파이썬 셀레니움, 피지컬 컴퓨팅을 한번 같이 해보기로 했다. vscode는 유니코드 변수를 지원해주니, 한글로 코딩을 가르치기 너무 좋을것 같았다. 그런에 아이들이 학교에서 나눠준 크롬북으로 코딩을 하고 싶다고 했다. 이에 크롬북에 개발환경을 설정하기 위해 구글링을 많이 했고, 이에 기록으로 남긴다. 참고로 이 글은 아래의 게시물에서 많은 도움을 받았다. 글을 쓰신 분께 감사드린다. ChromeBook에서 Visual Studio Code 개발환경 설치하기 개요 크롬북(ASUS C223NA)에 웹 개발용으로 VisualStudio Code설치 삽질후 잊기 전에 그 기록을 남깁니다. 크롬북 모델이 다를경우 설정 내용이 다를수 있습니다. 아래 사이트를 참고하면서 따라한 것으 velog.io .. 파이썬 2023. 4. 25. 네이버 블로그 자동화 2 : 이웃글 공감 누르기(2023.10.29. 업데이트) 네이버 블로그에서 블로거들 끼리의 소통과 서로 이웃은 무척 중요한 요소이다. 그래서 저번 글에 이어 네이버 블로그 자동화를 위한 이웃글 공감 누르기를 만들어본다. 네이버 블로그 자동화 1 : 최신글 공감 누르기 최근 티스토리가 터진 후 네이버 블로그에 관심이 옮겨가면서, 네이버 블로그의 좋아요도 한번 자동화 시키면 어떨까 하는 생각이 들었다. 검색을 해보니 네이버는 체류시간이 너무 짧을 경우 fecu.tistory.com 2023.02.01~09.20. 업데이트 창의 크기에 따른 스크롤의 안정성을 위해 now_scroll_height 변수에 200을 더해 현재 창의 스크롤 위치를 구하도록 만듦. 이웃의 수가 너무 많아 스크롤이 끝없이 반복되는 경우를 제한하기 위해, 로딩하는 피드의 최대 개수의 제한을 둠.. 파이썬 2023. 1. 25. 네이버 블로그 자동화 1 : 최신글 공감 누르기(2023.10.29.업데이트) 최근 티스토리가 터진 후 네이버 블로그에 관심이 옮겨가면서, 네이버 블로그의 좋아요도 한번 자동화 시키면 어떨까 하는 생각이 들었다. 검색을 해보니 네이버는 체류시간이 너무 짧을 경우 봇으로 인식해서 무의미한 클릭으로 받아들이며 블로그 순위가 낮아진다고 한다. 그러니 이 글은 블로그를 운영하는 보조적인 용도로만 쓰길 바란다. 스크롤의 양에 따라 시간을 조금 조절하도록 코드를 한번 구성해보았다. 스크롤의 속도가 느리다면 상단의 변수를 통해 스스로 조절하면 된다. 이 글을 읽기 전에 파이썬과 셀레니움 환경이 구성되지 않았다면 아래에 있는 글을 참고하길 바란다. 파이썬(Python) 개발환경 구축하기 오늘 글은 비쥬얼 스튜디오 코드(Visual Studio Code)를 활용하여 파이썬(Python) 실행 환경.. 파이썬 2023. 1. 24. 노마드 코더가 제안하는 깨끗한 코드를 위한 5가지 팁 1. 함수에 램던하게 값을 추가할 경우, 변수를 이용해서 값을 추가해라. - 코드를 처음 보는 사람은 이 숫자가 무슨 뜻인지 모를 수가 있다. 대신 이를 변수로 해두면 읽고 이해하기 쉽다. 2. 함수명은 반드시 동사를 써라. - 동사로 쓰면 함수의 역할을 알게 된다. 만약 하나의 함수가 여러가지 동작을 한다면 함수를 쪼개야 한다. 함수는 무조건 단 한가지의 액션만 수행해야 함. 3. 함수의 인수는 3개 이하로 줄여라. - 어떤 인수가 어떤 역할을 하는지 알기 어렵다. 많이 필요하다면 configuration object를 이용하라. 4. boolean 값을 함수로 보내지 마라. - 함수 안에 if, else 구문이 있다는 것은 함수가 여러가지 역할을 한다는 것. 차라리 if, else 구문을 이용해 먼저.. 파이썬 2023. 1. 17. 파이썬(Python) 크롤링으로 티스토리 백업하기 최근에 티스토리에 백업 기능이 생겼다. 만약 티스토리 백업만을 원한다면 아래와 같이 들어가서 백업해보자. 티스토리 관리창 사이드바 최하단 --> 관리 / 블로그 --> 데이터관리 / 데이터 관리하기 --> 블로그 백업 카카오 화재로 인해 티스토리가 다운되는 현상을 지켜보면서, 어쩌면 내가 열심히 쓴 글들이 한순간에 모두 사라질 수도 있다는 어떤 불안감에 휩싸이게 되었다. 그래서 티스토리의 글들을 백업하여 네이버로 옮기거나 워드프레스, 구글블로그 같은 대안을 여러개 만들어놓아야 겠다는 생각이 들었다. 그 첫번째 단계는 티스토리 백업이었다. 1. 기존의 프로그램들 이용하기 티스토리 백업을 하기 위한 프로그램들을 이미 많은 분들이 만들어 놓았기 때문에, 이것을 이용하면 백업은 어렵지 않다. 하지만 이 블로그 .. 파이썬 2022. 11. 11. 인스타그램 좋아요 봇 만들기 9 : 스토리 좋아요 누르기 인스타그램을 하다 보니, 어떤 사람이 내가 올리는 모든 스토리에 좋아요를 누르는 것을 발견했다. 예전 같았으면 그냥 넘어갔겠지만 파이썬을 다루다 보니 이 사람이 혹시 좋아요를 봇을 이용하여 누르는 것이 아닌가 의심을 하게 되었다. 그래서 나도 만들어보기로 했다. 2023.06.30. 업데이트 - 좋아요 버튼의 속성이 button --> div로 변경됨. driver.find_element(By.XPATH, '//*[@aria-label="좋아요"] //ancestor :: div[2]').click() 1. 필요한 스토리 찾기 먼저 스토리의 xpath를 찾아보았다. li 태그 내부에 button이 리스트 형태로 들어가 있었다. xpath는 '//ul//li//button' 으로 충분했다. 문제는 li 태.. 파이썬 2022. 8. 13. 인스타그램 좋아요 봇 만들기 8 : 인친들 최신 피드 누르기(2023.09.22. 업데이트) 최근의 댓글 중에 인스타 메인 페이지에 올라오는 인친들의 최신 피드의 좋아요를 누르고 싶다는 글을 보았다. 사람들과 소통하는 느낌도 들고 좋을 것 같아서 한번 구현해보기로 했다. 기본적인 코드는 아래 글을 참고 바란다. 인스타그램 좋아요 봇 만들기 7 : 댓글 달기 기능 2022.06.18. 업데이트 driver.get을 통해 인스타그램 페이지를 불러올 때, 페이지가 모두 로드되지 않은 상태에서 요소를 찾다가 오류를 내는 경우가 빈번하여 driver.implicitly_wait 함수를 추가했다. 2022.0 fecu.tistory.com 2022.07.28. ~ 2022.08.12. 업데이트. 업데이트 안정화 업데이트. 로그인 함수가 실제로 로그인이 되었는지 확인하도록 만듦. 팔로잉 함수가 더 안정적으로.. 파이썬 2022. 7. 23. 인스타그램 좋아요 봇 만들기 7 : 댓글 달기 기능 2022.07.12. 업데이트 아래의 selenium 홈페이지를 참고하여 find_element 구문을 정규식으로 수정했다. Finding web elements Locating the elements based on the provided locator values. www.selenium.dev 2022.07.16.~ 2022.07.17. 오후부터 인스타그램에서 태그 게시물을 클릭할 수 없는 현상을 발견함. 확인 결과 일반 크롬에서도 클릭할 수 없음을 확인함. 인스타그램 측에서 업데이트 대기 중, 17일 15:30 확인 결과 이상없이 작동함. 코드 수정사항 없음. 2022.07.19. 업데이트 태그 검색 후 인기 게시물을 누르던 것을 최신 게시물로 누르도록 수정했다. 수정 전의 내용은 아래와 같다. .. 파이썬 2022. 6. 11. 인스타그램 좋아요 봇 만들기 6 : 가짜 광고 계정 넘기기(2023.06.14. 업데이트) 최근 인스타그램에서 투자, 재테크, 심지어 성매매 관련 글들이 다양한 태그로 올라오는 경우가 많다. 인스타 피드의 본문에서 이런 이상한 태그를 가진 글들을 걸러주는 코드를 한번 만들어보았다. 아래의 코드를 기반으로 detect_ad라는 함수를 하나 추가해보려고 한다. 인스타그램 좋아요 봇 만들기 4 : 이미 좋아요 누른 피드가 많을때 지난 포스팅에서는 좋아요 봇의 오류를 처리하는 방법에 대해서 알아보았다. 이번에는 하나의 태그에서 이미 좋아요 누른 피드가 많아서 좋아요를 누르지 못하는 경우, 이를 처리하는 방법에 fecu.tistory.com 1. 인스타 광고 피드 분석 1) 피드 본문의 내용이 없는 경우 인스타 재테크 광고를 하는 계정들을 보면 피드 본문의 내용이 없는 경우가 있다. 이럴 경우 태그 검.. 파이썬 2022. 6. 11. 인스타그램 좋아요 봇 만들기 5 : XPath 상대경로 파이썬 셀레니움으로 인스타그램의 좋아요 버튼을 계속 누르고 있었는데, 인스타그램이 업데이트 될 때 마다 경로를 계속 변경해주어야 한다는 번거로움이 있었다. 그래서 이를 해소하기 위해 XPath를 어떻게 상대경로로 지정해 줄 수 있는지, 그리고 상대경로를 지정할 때의 장점에 대해 글을 써보려고 한다. 1. XPath 절대경로 형식, 그리고 문제점 이때까지 쓴 좋아요 봇의 글들은 모두 XPath를 절대경로로 지정했었다. XPath의 절대 경로의 형식은 아래와 같다. xpath = /html/body/div[6]/div[3]/div/article/div/div[2]/div/div/div[2]/section[1]/span[1] 위의 경로는 좋아요 버튼의 부모 XPath이다. 문제는 최근 인스타그램의 업데이트가 .. 파이썬 2022. 6. 5. 인스타그램 좋아요 봇 만들기 4 : 이미 좋아요 누른 피드가 많을때 지난 포스팅에서는 좋아요 봇의 오류를 처리하는 방법에 대해서 알아보았다. 이번에는 하나의 태그에서 이미 좋아요 누른 피드가 많아서 좋아요를 누르지 못하는 경우, 이를 처리하는 방법에 대해 알아보자. 인스타그램 좋아요 봇 만들기 3 : 오류 처리하기 좋아요 봇을 실행하다 보면 오류를 내면서 멈춰버리는 경우가 많다. 이럴 경우 오류를 예외처리하고 좋아요를 계속 누르도록 만들 수 있다. 이전 글을 보지 않았던 사람은 아래의 글들을 참고하 fecu.tistory.com 1. 이미 좋아요를 누른 피드가 많은 경우 while True를 이용해서 좋아요를 계속 누르다 보면, 어떤 해시태그에서는 좋아요를 누른 게시물이 너무 많아서 특정 게시물을 지나친 후에는 좋아요를 누를수 없는 경우가 많다. 혹은, 사람이 실제로 좋.. 파이썬 2022. 4. 8. 이전 1 2 3 다음 💲 추천 글 728x90