웹을 크롤링 하고 긁어 모으고 필요한 데이터를 파싱하기 위한 훌륭한 Python 도구를 확인하십시오.
https://opensource.com/resources/python/web-scraper-crawler
완벽한 세상에서 필요한 모든 데이터는 공개적이고 잘 문서화 된 형식으로 깔끔하게 제시되어 필요한 목적으로 쉽게 다운로드하여 사용할 수 있습니다.
실제로는 데이터가 지저분하고, 필요한 방식으로 거의 포장되지 않으며, 종종 최신 정보가 아닙니다.
종종 필요한 정보는 웹 사이트 안에 갇혀 있습니다. 일부 웹 사이트는 깨끗하고 구조화 된 데이터 형식으로 데이터를 제공하려고 노력하지만 많은 웹 사이트에서는 그렇지 않습니다. 데이터 크롤링, 스크래핑, 처리 및 정리는 웹 사이트 구조 매핑에서 웹 전용 형식이거나 독점 데이터베이스에 잠겨있는 데이터 수집에 이르기까지 전체 활동에 필요한 활동입니다.
조만간, 필요한 데이터를 얻기 위해 크롤링 및 스크래핑을 수행해야 할 필요가 있으며, 거의 제대로 수행하려면 약간의 코딩을 수행해야 할 것입니다. 이 작업을 수행하는 방법은 사용자에게 달려 있지만 Python 커뮤니티는 웹 사이트에서 데이터를 가져 오는 데 유용한 도구, 프레임 워크 및 문서를 제공하는 것으로 나타났습니다.
우리가 뛰어 들기 전에 빠른 요청 : 당신이 하기 전에 생각하고 친절하십시오. 스크래핑의 맥락에서 이것은 많은 것을 의미 할 수 있습니다. 웹 사이트를 크롤링하여 복제하고 다른 사람의 작업을 자신의 것으로 표시하지 마십시오 (물론 허가없이). 저작권 및 라이센스, 그리고 스크랩 한 모든 것에 적용되는 방법을 알고 있어야 합니다. robots.txt 파일을 존중하십시오. 웹 사이트를 너무 자주 방문하여 실제 방문자가 콘텐츠에 액세스하는 데 어려움을 겪지 마십시오.
주의를 기울이면 다음은 웹을 크롤링하고 스크랩하고 필요한 데이터를 파싱하는 훌륭한 Python 도구입니다.
웹 기반 사용자 인터페이스가 있는 웹 크롤러 인 pyspider로 여러 크롤링을 쉽게 추적 할 수 있습니다.
여러 백엔드 데이터베이스와 메시지 대기열이 지원되고 우선 순위 지정에서 실패한 페이지를 다시 시도하는 기능, 연령별로 페이지를 크롤링 하는 기능 등 여러 가지 편리한 기능이 포함 된 확장 가능한 옵션입니다.
Pyspider는 Python 2와 3을 모두 지원하며 더 빠른 크롤링을 위해 여러 크롤러가 동시에 진행되는 분산 형식으로 사용할 수 있습니다.
Pyspyder의 기본 사용법은 샘플 코드 스 니펫을 포함하여 잘 문서화 되어 있으며 사용자 인터페이스를 이해하기 위해 온라인 데모를 확인할 수 있습니다. Apache 2 라이센스로 라이센스 된 pyspyder는 여전히 GitHub에서 활발하게 개발되고 있습니다.
MechanicalSoup은 매우 인기 있고 다양한 HTML 구문 분석 라이브러리인 Beautiful Soup을 중심으로 구축 된 크롤링 라이브러리입니다. 크롤링 요구가 상당히 단순하지만 몇 개의 확인란을 선택하거나 텍스트를 입력해야 하는 경우 이 작업을 위해 자체 크롤러를 만들고 싶지 않은 경우 고려해야 합니다.
MechanicalSoup은 MIT 라이센스에 따라 라이센스가 부여됩니다. 사용 방법에 대한 자세한 내용은 프로젝트의 GitHub 페이지에서 예제 소스 파일 example.py를 확인하십시오. 불행히도 현재 프로젝트에는 강력한 문서가 없습니다.
Scrapy는 자신 만의 스크래핑 도구를 구축 할 수있는 활성 커뮤니티에서 지원하는 스크래핑 프레임 워크입니다. 스크랩 및 구문 분석 도구 외에도 JSON 또는 CSV와 같은 다양한 형식으로 수집 한 데이터를 쉽게 내보내고 선택한 백엔드에 데이터를 저장할 수 있습니다.
또한 쿠키 처리, 사용자 에이전트 스푸핑, 크롤링 깊이 제한 등과 같은 작업을 위한 다양한 기본 확장 기능과 자체 추가 기능을 쉽게 구축 할 수 있는 API가 있습니다.
Scrapy에 대한 소개는 온라인 문서 또는 IRC 채널, Subreddit 및 StackOverflow 태그의 정상 추적을 포함한 많은 커뮤니티 리소스 중 하나를 확인하십시오. Scrapy의 코드 기반은 GitHub에서 3 절 BSD 라이센스로 찾을 수 있습니다.
코딩에 익숙하지 않은 경우 Portia는 보다 쉬운 시각적 인터페이스를 제공합니다. 호스트 버전은 scrapinghub.com에서 구할 수 있습니다.
Others
Cola는 Python 2 접근 방식을 찾고 있다면 2 년이 지나도 업데이트 되지 않았다는 점을 충족시킬 수 있는 "고급 분산 크롤링 프레임 워크"라고 설명합니다.
Python 2와 Python 3을 모두 지원하는 Demiurge는 이 프로젝트의 개발이 비교적 조용하지만 검토해야 할 또 다른 후보입니다.
Feedparser는 구문 분석하려는 데이터가 주로 RSS 또는 Atom 피드에 있는지 확인하는 데 유용한 프로젝트 일 수 있습니다.
Lassie를 사용하면 웹 페이지에서 설명, 제목, 키워드 또는 이미지 목록과 같은 기본 컨텐츠를 쉽게 검색 할 수 있습니다.
RoboBrowser는 버튼 클릭 및 양식 채우기를 포함한 기본 기능을 갖춘 Python 2 또는 3을 위한 또 다른 간단한 라이브러리입니다. 한동안 업데이트 되지 않았지만 여전히 합리적인 선택입니다.
등록된 댓글이 없습니다.