python 크롤링 예제

On agosto 2, 2019 by adminmg

이 자습서에서는 장난스러운 데이터 집합을 탐색할 때 스크래핑 및 스파이더링 프로세스의 기본 에 대해 알아봅니다. 레고 세트에 대한 정보가 포함된 커뮤니티 운영 사이트인 BrickSet을 사용합니다. 이 자습서가 끝나면 Brickset의 일련의 페이지를 살펴보고 각 페이지에서 레고 세트에 대한 데이터를 추출하여 화면에 데이터를 표시하는 완전한 기능을 갖춘 Python 웹 스크레이퍼가 있습니다. 여러 크롤링을 쉽게 추적할 수 있는 웹 기반 사용자 인터페이스가 있는 웹 크롤러인 파이스파이더(pyspider)를 사용하여 작업을 시작해 보겠습니다. 여러 백 엔드 데이터베이스와 메시지 큐가 지원되고 우선 순위 지정부터 실패한 페이지를 다시 시도하는 기능, 연령별로 페이지를 크롤링하는 기능에 이르기까지 여러 가지 편리한 기능이 지원되는 확장 가능한 옵션입니다. Pyspider는 파이썬 2와 3을 모두 지원하며 더 빠른 크롤링을 위해 한 번에 여러 크롤러가 있는 분산 형식으로 사용할 수 있습니다. Scrapy 셸의 가져오기 명령을 사용하여 웹 페이지에서 크롤러를 실행해야 합니다. 크롤러 또는 스파이더는 텍스트와 메타데이터를 다운로드하는 웹 페이지를 통과합니다. 이러한 문제를 처리하는 기존 라이브러리 위에 스크레이퍼를 빌드하면 더 운이 좋아질 수 있습니다. 이 자습서에서는 파이썬과 Scrapy를 사용하여 스크레이퍼를 빌드합니다. 파이썬 요청 모듈은 기본적으로 다음과 같은 기능을 제공합니다 웹 스크래핑은 데이터를 비교하는 데 사용할 수있는 애그리 게이터를 만드는 데 사용할 수 있습니다.

예를 들어 태블릿을 구입하려는 경우 제품과 가격을 함께 비교하여 원하는 페이지를 크롤링하고 Excel 파일에 저장할 수 있습니다. 여기 정제 정보에 대 한 aliexpress.com 긁어 것입니다. 참고: 스크랩 셸 섹션에서 설명한 대로 response.css()를 사용 하지만 자식 요소에 액세스할 수 있는 XPath(XML)를 사용 하 여 css 선택기를 통해 데이터를 추출할 수 있습니다. pass() 함수에서 편집된 코드에서 response.xpath()의 예제를 볼 수 있습니다. 즉, 다음 페이지로 이동하면 다음 페이지로 연결되는 링크를 찾고 해당 페이지에서 다음 페이지에 대한 링크를 찾습니다. 이것은 웹 스크래핑의 핵심 부분: 찾기 및 다음 링크. 이 예제에서는 매우 선형적입니다. 한 페이지에는 마지막 페이지를 도달할 때까지 다음 페이지로 연결되는 링크가 있지만 태그, 기타 검색 결과 또는 원하는 다른 URL에 대한 링크를 따라갈 수 있습니다. Scrapy Shell은 전체 크롤러를 실행하지 않고 구문 분석 코드를 테스트할 수 있는 명령을 제공합니다. 모든 링크로 이동하는 크롤러와 달리 Scrapy Shell은 데이터 추출을 위해 개별 페이지의 DOM을 저장합니다. 내 경우에는 다음과 같은 settings.py 저장 한 후 프로젝트 디렉터리에서 스크랩크 크롤링 aliexpress_tablets를 다시 실행합니다.

Scrapy는 자신의 스크래핑 도구를 구축 할 수있는 활성 커뮤니티에서 지원하는 스크래핑 프레임 워크입니다. 도구를 스크래핑 및 구문 분석하는 것 외에도 수집한 데이터를 JSON 또는 CSV와 같은 다양한 형식으로 쉽게 내보내고 선택한 백엔드에 데이터를 저장할 수 있습니다. 또한 쿠키 처리, 사용자 에이전트 스푸핑, 크롤링 깊이 제한 및 기타 작업에 대한 여러 가지 기본 제공 확장기능뿐만 아니라 사용자 고유의 추가를 쉽게 빌드할 수 있는 API도 있습니다. 아래에서 현재 페이지인 .ui-pagination-active 클래스가 있는 태그가 있고 그 아래에는 다음 페이지에 대한 링크가 있는 태그가 있습니다. 때마다 이 태그 후 태그를 받아야 합니다. 여기에 CSS의 조금 온다! 이 때 하위 노드가 아닌 형제 노드를 가져와야 하므로 .ui-pagination-active 클래스를 사용하여 태그 다음에 있는 태그를 찾기 위해 크롤러에 알려주는 css 선택기를 만들어야 합니다. Scrapy는 단일 프로젝트에서 여러 크롤러 또는 스파이더가 있는 프로젝트의 아이디어를 소개합니다. 이 개념은 특히 사이트의 다른 섹션 이나 하위 도메인의 여러 크롤러를 작성하는 경우에 유용합니다. 따라서 먼저 프로젝트를 만듭니다: 필요한 정보를 구문 분석한 후 OlxItem 인스턴스가 만들어지고 속성이 설정됩니다.

Comments are closed.