파이썬 크롤링 예제

Tempo de leitura: menos de 1 minuto

0 Flares Filament.io 0 Flares ×

https://github.com/abdulmoizeng/crawlers-demo/tree/master/library-example 2 년 전에 시작하여 여전히 매일 사용하는 한 최근 프로젝트를 위해 셀레늄을 사용했습니다. Selenium을 사용하면 브라우저에서 무슨 일이 일어나고 있는지, 거미가 어떻게 크롤링하는지 볼 수 있기 때문에 디버깅하기가 더 쉽습니다. 디버그가 완료 된 후 나는 (팬텀즈와) 헤드리스 모드에서 셀레늄을 사용, 그것은 2h에서 1h로 스크래핑 시간을 감소. 또한, 파이썬 코스와 데이터 캠프의 웹 스크래핑을 확인하는 것을 잊지 마세요. 필요한 정보를 구문 분석한 후 OlxItem 인스턴스가 만들어지고 속성이 설정됩니다. 이제 크롤러를 실행하고 정보를 저장할 때가 되었으므로 명령에 약간의 수정이 있습니다 : RoboBrowser는 버튼 클릭 및 양식 채우기를 포함한 기본 기능을 갖춘 Python 2 또는 3의 또 다른 간단한 라이브러리입니다. 그것은 잠시 동안 업데이트 되지 않았습니다, 그것은 여전히 합리적인 선택. 이 자습서에서는 장난스러운 데이터 집합을 탐색할 때 스크래핑 및 스파이더링 프로세스의 기본 에 대해 알아봅니다. 레고 세트에 대한 정보가 포함된 커뮤니티 운영 사이트인 BrickSet을 사용합니다.

이 자습서가 끝나면 Brickset의 일련의 페이지를 살펴보고 각 페이지에서 레고 세트에 대한 데이터를 추출하여 화면에 데이터를 표시하는 완전한 기능을 갖춘 Python 웹 스크레이퍼가 있습니다. 크롤러는 셸에서 view(response) 명령을 사용하여 볼 수 있는 응답을 반환합니다: 현재 페이지인 .ui-pagination-active 클래스가 있는 태그가 있는 것을 볼 수 있듯이, 그 아래에는 다음 에 대한 링크가 있는 모든 태그가 있습니다. 페이지. 때마다 이 태그 후 태그를 받아야 합니다. 여기에 CSS의 조금 온다! 이 때 하위 노드가 아닌 형제 노드를 가져와야 하므로 .ui-pagination-active 클래스를 사용하여 태그 다음에 있는 태그를 찾기 위해 크롤러에 알려주는 css 선택기를 만들어야 합니다. 최종 프로젝트 구조는 아래 예제와 비슷합니다. 두 번째 링크는 동일한 태블릿 검색 결과의 페이지 2입니다. 모든 링크를 추가하는 것은 비실용적입니다. 크롤러는 모든 페이지를 통해 자체적으로 크롤링할 수 있어야 하며 시작 점만 start_url에 언급해야 합니다. 이 메서드를 사용 하는 이유는 .css 및 .xpath return SelectorList 개체 및 extract() 추가 처리를 위해 실제 DOM을 반환 하는 데 도움이 됩니다. 마지막으로 나는 긁힌 에 링크를 양보하고있다.

콜백으로 요청합니다. Scrapy의 내부 코드를 확인하지 는 않았지만 여러 항목을 양보 할 수 있기 때문에 반환 대신 yield를 사용하고 있을 가능성이 큽니다. 크롤러는 여러 링크를 함께 처리해야 하므로 수익률이 여기에 가장 적합합니다. 이 자습서의 필수 구성 에 설명 된 것과 같은 파이썬 설치가있는 경우 이미 컴퓨터에 pip가 설치되어 있으므로 다음 명령으로 Scrapy를 설치할 수 있습니다 . 두 가지 방법의 도움으로 수준. OLX의 기본 페이지에서 크롤링을 시작하려면 하위 범주와 해당 항목을 가져오는 처음 두 가지 방법과 실제 정보를 구문 분석하기 위한 마지막 방법이라는 세 가지 방법을 여기에 작성해야 합니다. 알았어요? 웹 크롤러는 World Wide Web.All 유형의 웹 인덱싱에 사용되는 인터넷 봇으로, 웹 크롤러를 사용하여 효율적인 결과를 제공합니다. 실제로 그것은 다른 웹 사이트에서 모든 또는 일부 특정 하이퍼 링크 및 HTML 콘텐츠를 수집 하 고 적절한 방식으로 그들을 미리 보기. 크롤링에 대한 링크가 엄청나게 많으면 가장 큰 크롤러도 실패합니다. 이러한 이유로 초기 검색 엔진 2000 관련 결과 제공에 나쁜 했다,하지만 지금이 과정은 많이 개선 하 고 적절 한 결과 즉시 주어진 대안, 파이썬 패키지 설치 핍을 사용할 수 있습니다.

이것은 리눅스, 맥, 윈도우에서 작동: MechanicalSoupMIT 라이센스에 따라 라이센스. 사용 방법에 대한 자세한 내용은 프로젝트의 GitHub 페이지에서 example.py 예제 소스 파일을 확인하십시오.

Os comentários foram encerrados, mas trackbacks e pingbacks estão abertos.