게시글
질문&답변
2024.04.23
선생님이랑 똑같이 적었는데 저는 왜 오류가 날까요?ㅠ
코드의 문제는 둘째고 실행 방법이 잘못되었습니다. 터미널에서 파이썬을 실행시키고 직접 print 함수를 실행시키는 게 아니라 만든 py 파일을 실행시켜야 합니다. 혹시 파이썬이 처음이시라면 일단 마지막 섹션에 부록으로 제공된 파이썬 기초 강의를 어느 정도 보고 나서 본 강의를 보시는 걸 추천드립니다. 그리고 코드는 이미지로 올리시면 안 되고 글 작성할 때 코드 넣는 기능을 사용하셔야 제가 복사해서 실행해 볼 수 있습니다. 그래야 문제를 빨리 찾습니다.
- 0
- 2
- 63
질문&답변
2024.03.24
네이버쇼핑 크롤링 문의
섹션 15의 마지막 영상 '셀레니움을 사용하여 네이버 쇼핑에서 더 많은 제품 정보 크롤링' 강의가 셀레니움을 사용해서 제품 여러 개를 가져오는 방법입니다. 다만, 강의 시점과 지금 화면을 구성하는 html에 차이가 있으니 화면의 코드를 그대로 따라 치면 안 되고 강의에서 배운 방법으로 직접 html 요소의 클래스 등을 파악해서 적용하셔야 합니다.
- 0
- 2
- 118
질문&답변
2024.03.08
asyncio.run() cannot be called from a running event loop 에러 질문 드립니다
올리신 asyncio 기본 코드는 문제가 없으니 실행 환경을 바꿔보세요. 아래는 기본 api만으로 이미지를 보내는 방법입니다. # 텔레그램 봇 API URL url = f'https://api.telegram.org/bot{TOKEN}/sendPhoto' # 이미지 파일 열기 with open(PHOTO_PATH, 'rb') as photo: files = {'photo': photo} data = {'chat_id': CHAT_ID} # 이미지를 전송하는 POST 요청 보내기 response = requests.post(url, files=files, data=data) # 응답 출력 print(response.json()) 제가 강의에 python-telegram-bot 라이브러리를 사용하지 않은 이유가 바로 asyncio 때문입니다. python-telegram-bot 라이브러리를 제대로 사용하려면 asyncio까지 어느 정도는 배워야 하니까요. 이미 asyncio를 아는 사람이 텔레그램을 사용하기 위해 python-telegram-bot 라이브러리를 공부하는 것과 python-telegram-bot 라이브러리를 사용하기 위해 asyncio를 공부해야 하는건 큰 차이가 있습니다. 이미 asyncio까지 알고 있다는건 프로그래밍을 기초 이상은 공부한 사람일테니까요. 대부분의 파이썬 기초책에는 asyncio에 대한건 아예 나오지도 않습니다. 그리고, 저도 비전공자입니다. 게다가 커뮤니티 활동도 전혀 안 하고 누구에게도 프로그래밍 관련 질문을 아예 안 하기 때문에 어느 커뮤니티에 질문을 올리면 좋을지는 모르겠습니다. 물론, 관련 커뮤니티는 검색하면 많이 나오니까 한번 찾아 들어가 보셔도 좋을 것 같습니다.
- 0
- 3
- 651
질문&답변
2024.02.26
멜론 유저에이전트 값 입력했음에도 창접속이안되여 ㅜㅜ
코드에서 myOption.add_argument(f"user-agent = {myAgent}") 이 부분을 myOption.add_argument(f"user-agent={myAgent}") 이렇게 공백 없이 사용해야 합니다.
- 0
- 1
- 100
질문&답변
2024.02.21
최신 셀레니움 테스트 소프트에 의해 제어...
조치를 취해봤자 접속한 아이피 차단정도겠죠. 하지만 그럴 일도 없을 거라 생각됩니다. 적당한 규모의 사이트 하나 운영해도 사람이 아닌 봇들이 엄청 방문합니다. 네이버, 다음 이런곳은 더 그렇겠죠. 적당한 자동화 작업정도는 신경도 안쓸겁니다.
- 1
- 1
- 103
질문&답변
2024.02.17
xpath 질의
뷰 탭이 없어졌군요.. 일단, driver.find_element(By.XPATH, '//*[text()="블로그"]').click() 이렇게 하면 화면상의 첫번째 '블로그' 텍스트를 가진 요소를 찾아서 클릭을 하게 되는데 이게 우리가 원하는 블로그 탭의 요소가 아닙니다. print(len(driver.find_elements(By.XPATH, '//*[text()="블로그"]'))) 이렇게 작성해서 몇개인지 출력해보면 1개가 아닙니다. 지금 현재 4개가 나오네요. blogs = driver.find_elements(By.XPATH, '//*[text()="블로그"]') for blog in blogs: print(blog.get_attribute("outerHTML")) 이렇게 해보면 '블로그' 라는 텍스트를 가진 요소를 전부 찾아서 그 요소의 html을 출력합니다. 여기에서 확인해보면 지금 현재 블로그 탭으로 이동하기 위해서 클릭해야 하는 요소는 3번째로 출력됩니다. 인덱스로는 [2] 이렇게 되는거죠. 그렇다는건 driver.find_elements(By.XPATH, '//*[text()="블로그"]')[2].click() 이렇게 해야 클릭이 됩니다. 그리고 검색은 성공을 하셨으니 지금 이 질문을 올리셨을 거라고 생각되지만, 혹시나 하는 마음에 한가지 더 말씀드리자면, 검색 버튼을 클릭하는 태그도 바뀌었네요. driver.find_element(By.CSS_SELECTOR, "#search_btn").click() 이거 대신 driver.find_element(By.CSS_SELECTOR, ".btn_search").click() 이렇게 넣어야 합니다.
- 0
- 1
- 103
질문&답변
2024.02.17
텔레그램 센드 메세지 API 4,096바이트 넘을시 전송 불가
이건 API 자체에 제한이 있는 거라 제가 아는 지식에서는 그냥 파이썬으로 문자를 나눠서 전송하는 게 가장 좋은 방법일 것 같습니다. 다른 좋은 방법이 있을까 생각 한번 해봐야겠네요.
- 0
- 3
- 132
질문&답변
2024.02.01
title["href"] 가져올 때
올리신 코드에 print(title) 추가 해보시면 답이 바로 나옵니다. print(title["href"]) 안에 있는 a 태그에 href 속성이 있죠. 그래서 에러가 발생합니다.
- 0
- 1
- 87
질문&답변
2024.01.28
zip 메서드를 활용해서 view 제목 및 작성자 불러오기
정답은 저번 질문의 답변에 있습니다. .title_link_cross_trigger 이게 아니라 .title_link._cross_trigger 이렇게 사용합니다. 그리고 질문할때 나오는 질문 안내글을 꼭 읽어주셨으면 합니다. 코드를 이미지로 올려주시면 실행이 불가능하기 때문에 답변이 어렵습니다. 제가 이미지를 보고 추측하거나 직접 쳐봐야 합니다.
- 0
- 2
- 87
질문&답변
2024.01.26
네이버가 보니까 첫 화면이 리액트로 된 듯 한데요. ㅠㅠ
위 코드는 NAVER 를 출력하며 정상 작동합니다.
- 0
- 1
- 97