반응형
오늘은 파이썬에서 RSS feed 내에 있는 enclosures에 있는 첨부 파일을 일괄로 다운받는 방법을 알아보겠습니다. Rss enclosures RSS 인클로저는 음악 추천에 MP3 파일 또는 일기 항목에 사진과 같은 항목과 관련된 파일의 URL을 제공하여 멀티미디어 콘텐츠를 RSS 피드에 첨부하는 방법입니다. 전자 메일 첨부 파일과 달리 인클로저는 파일에 대한 하이퍼링크일 뿐이라고 합니다. 먼저 패키지는 rss를 읽을 feedparser, 그리고 ssl 우회를 위한 ssl 그리고 파일 다운로드를 위한 urllib.request가 필요합니다. 그리고 feedparser를 활용해서 rss를 불러오고 이 후에 rss 내용인 entries에서 enclosures 태그를 빼온 다음 href의 내용을 가져옵..
파이썬 코드 작성중 'Couldn't find a tree builder with the features you requested: lxml. Do you need to install a parser library?' 라는 메시지를 만나게 되는데요. 이는 말그대로 lxml이 패키지가 설치되지 않은 것인데요 ======================================== RESTART: C:/pyfile/cr_add_1.py ======================================= Traceback (most recent call last): File "C:/pyfile/cr_add_1.py", line 1, in import feedparser ModuleNotFoundError:..
오늘은 파이썬에서 폴더와 파일이 있는지 여부를 확인하는 OS명령어를 알아보겠습니다. OS명령어 파이썬에서 OS 명령어는 운영체제와 관련된 다양한 서비스를 제공합니다. https://docs.python.org/ko/3/library/os.html os — Miscellaneous operating system interfaces Source code: Lib/os.py This module provides a portable way of using operating system dependent functionality. If you just want to read or write a file see open(), if you want to manipulate paths, s... docs.python...
파이썬으로 크롤링을 진행하다보면 에러가 발생합니다. 바로 크롤링 대상 항목 중에서 어떤 항목이 있었는데 없는 케이스가 종종 발생하게 됩니다. 아래와 같이 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를 통해서 크롬 웹드라이버의 최신버전을 항상 사용할 수 있는 점인데요. 기존에는 웹드라이버를 다운받아서 지정 경로를 설정하는 방식이었기 때문에 문법이 다릅니다. 먼저 웹드라이버매니저를 설치하고 난 다음 이제 문..