반응형
유튜브의 실시간 방송 댓글 크롤링하는 방법 유튜브 실시간 영상에서 댓글을 가져오는 방법을 알아보겠습니다. 필수 패키지 설치 먼저 필요한 패키지는 pafy와 youtube_dl, 그리고 pytchat입니다. pip install pafy pip install youtube_dl pip install pytchat 3개를 모두 설치해주시면 됩니다. 이후 pafy를 통해서 라이브 방송의 정보를 긁어오겠습니다. import pytchat import pafy #유튜브 정보 import pandas as pd pafy.set_api_key('Api key') video_id = '비디오 영상' v = pafy.new('video_id') title = v.title author = v.author publishe..
파이썬으로 크롤링을 진행하다보면 에러가 발생합니다. 바로 크롤링 대상 항목 중에서 어떤 항목이 있었는데 없는 케이스가 종종 발생하게 됩니다. 아래와 같이 p tag의 class를 불러오는 경우 몇몇 사이트에서는 없을 수도 있습니다. 이럴때는 에러가 발생하면서 전체 프로그램 코드가 실행이 되지 않는데요. 이런 에러를 해결하기 위해서 파이썬에서는 try, except 문법이 있습니다. 먼저 에러처리에 대해서 알면 이해가 쉬운데요. 일반적인 코딩에서 에러처리 방법은 크게 2가지 방식으로 나뉩니다. 코딩시 에러처리 방법 EAFP 이건 “It’s Easier to Ask Forgiveness than Permission”, 간단히 설명하면 미리 허락을 구하는 것보다는 나중에 용서를 구하는 게 쉽다는 뜻입니다. 즉..
파이썬에서 엑셀 사용시에 아래와 같은 Warning이 나옵니다. 기본적으로 Pandas 패키지를 사용하는데요. 파일 읽기시 에러메시지가 발생합니다. 간혹 불특정한 상황에서 발생하는데요. 워닝이라 실행하는데는 지장이 없으나, 오류 코드로 인하여 서버에서는 로그가 지저분하게 나오기 때문에 오류를 처리하는 것이 좋습니다. Warning (from warnings module): File "C:\python\lib\site-packages\openpyxl\styles\stylesheet.py", line 226 warn("Workbook contains no default style, apply openpyxl's default") UserWarning: Workbook contains no default st..
파이썬 셀레니움으로 코딩을하다 보면 아래와 같은 에러 메시지를 발견하게 됩니다. DeprecationWarning: executable_path has been deprecated, please pass in a Service object라는 에러 메시지 인데요. 에러 메시지 원인 해당 에러는 셀레니움의 문법이 기존 문법인 셀레니움3로 작성되었을때 나타나는 에러인데요. 이 경우 해결하는 방법은 버전업된 셀레니움4에 맞춰서 코드를 짜면 됩니다. 셀레니움4에서 큰 차이는 webdriver-manager를 통해서 크롬 웹드라이버의 최신버전을 항상 사용할 수 있는 점인데요. 기존에는 웹드라이버를 다운받아서 지정 경로를 설정하는 방식이었기 때문에 문법이 다릅니다. 먼저 웹드라이버매니저를 설치하고 난 다음 이제 문..
셀레니움으로 원하는 항목 클릭하기 이번 시간에는 셀레니움을 통해서 원하는 항목을 클릭하는 방법을 알아보겠습니다. 셀레니움 기본 사용법은 지난 포스팅을 참고하시면 좋습니다. 2022.08.27 - [Programming/Python] - 파이썬 웹사이트 크롤링 하기 - 4. Selenium 사용하기 파이썬 웹사이트 크롤링 하기 - 4. Selenium 사용하기 이번 시간에는 이어서 셀레니움을 통해 크롤링 하는 방법을 알아보겠습니다. 셀레니움 준비하기 먼저 셀레니움을 쓰기 위해서는 크롬 드라이버를 다운받아야 합니다. 이 때 크롬 버전 확인이 remake.tistory.com 먼저 셀레니움에서 클릭을 사용하기 위해서는 2가지 방법이 있습니다. find_element로 찾아서 클릭하는 방법 원하는 위치를 클릭하..
이번 시간에는 판다스의 정보를 변경해보는 방법을 알아보겠습니다. import pandas as pd data = {'name': ['kim', 'choi', 'park', 'lee', 'jung'], 'year': [2013, 2014, 2015, 2016, 2015], 'points': [2, 3, 5, 3, 4], 'id': ['0001', '0002', '0003', '0004', 'A0001']} df = pd.DataFrame(data) print(df) df.info() 먼저 기본 데이터를 입력하고 info를 통해서 타입을 확인해 봅니다. 이외에 정보를 확이하는 명령어는 df.describe()를 통해서 간단한 통계치를 확인할 수 있구요. df.shape를 통해서 형태에 대한 값도 불러올 수 ..