AutoScraper 및 Flask: 모든 웹사이트에서 5분 이내에 API 생성
요구 사항
pip를 사용하여 필요한 라이브러리를 설치합니다.
pip install -U autoscraper flask
해보자
먼저 eBay의 검색 결과 페이지에서 데이터를 가져오는 스마트 스크레이퍼를 만들 것입니다. 각 항목의 title
, price
및 product link
를 얻고 싶다고 가정해 보겠습니다. AutoScraper를 사용하면 몇 가지 샘플 데이터를 제공하기만 하면 쉽게 수행할 수 있습니다.
pip install -U autoscraper flask
먼저 eBay의 검색 결과 페이지에서 데이터를 가져오는 스마트 스크레이퍼를 만들 것입니다. 각 항목의
title
, price
및 product link
를 얻고 싶다고 가정해 보겠습니다. AutoScraper를 사용하면 몇 가지 샘플 데이터를 제공하기만 하면 쉽게 수행할 수 있습니다.이 코드를 복사하여 실행하려면 wanted_list
를 업데이트해야 할 수 있습니다.
이제 스크래핑 규칙별로 결과를 그룹화해 보겠습니다.
scraper.get_result_similar(url, grouped=True)
출력에서 어떤 규칙이 어떤 데이터에 해당하는지 알 수 있으므로 그에 따라 사용할 수 있습니다. 출력을 기반으로 몇 가지 별칭을 설정하고, 중복 규칙을 제거하고, 나중에 사용할 수 있도록 모델을 저장해 보겠습니다.
<script id="gist-ltag"src="https://gist.github.com/alirezamika/98f53cb72a6cd1f9866c08555356a2ca.js"/>
코드를 실행하면 규칙 ID가 달라집니다.
좋아요. eBay가 있습니다. Etsy 검색 결과에 대한 지원도 추가해 보겠습니다. 스크레이퍼를 만드는 것으로 시작하겠습니다. 이번에는 wanted_dict
대신 wanted_list
를 사용합니다. 자동으로 별칭을 설정합니다.
<script id="gist-ltag"src="https://gist.github.com/alirezamika/743234bb98ba1e59e9727ef7788c7da9.js"/>
Etsy에서는 매번 고유한 ID로 링크가 생성되므로 여기에서 링크를 생성할 수 있도록 샘플 제품 ID를 하나 추가했습니다wanted_dict
. 또한 Etsy 검색 결과 페이지의 항목 구조가 다르고 스크레이퍼가 모두 학습하기를 원하므로 제목과 가격에 대한 두 가지 샘플을 제공했습니다.
출력을 분석한 후 원하는 규칙을 유지하고 나머지는 제거한 다음 모델을 저장해 보겠습니다.
<script id="gist-ltag"src="https://gist.github.com/alirezamika/45a51ce21740060f9fc638e5e090f14f.js"/>
이제 스크레이퍼가 준비되었으므로 40줄 미만으로 두 사이트에 대해 완벽하게 작동하는 API를 만들 수 있습니다.
<script id="gist-ltag"src="https://gist.github.com/alirezamika/ef540b87a63f12cf6a70ea9e03f23555.js"/>
여기서는 매개변수q
를 검색 쿼리로 사용하여 API를 정의하고 있습니다. eBay 및 Etsy 검색 결과를 받아 가입하고 응답으로 반환합니다. 정의된 별칭으로 그룹화된 결과를 얻기 위해 스크레이퍼에 전달group_by_alias=True
합니다.
이 코드를 실행하면 API 서버가 포트 8080에서 수신 대기 상태가 됩니다. 브라우저에서 http://localhost:8080/?q=headphone
를 열어 API를 테스트해 보겠습니다.
짜잔! 전자 상거래 API가 준비되어 있습니다. URL의 headphone
를 원하는 검색어로 바꾸면 검색결과를 얻을 수 있습니다.
<시간/>
최종 참고 사항
이 자습서의 최종 코드는 GitHub에서 사용할 수 있습니다.
개발 및 테스트에 적합한 개발 환경입니다. Flask의 내장 서버는 프로덕션에 적합하지 않습니다. 프로덕션 사용에 대해서는 Flask’s deployment options을 확인하십시오.
이 튜토리얼은 개인 및 교육용으로 제작되었습니다. 웹사이트를 스크랩하려면 스크래핑 봇에 대한 정책을 확인할 수 있습니다.
이 기사가 유용하고 그 어느 때보다 빠르게 아이디어를 코드로 구현하는 데 도움이 되기를 바랍니다. 행복한 코딩하세요!
Reference
이 문제에 관하여(AutoScraper 및 Flask: 모든 웹사이트에서 5분 이내에 API 생성), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/alirezamika/autoscraper-and-flask-create-an-api-from-any-website-in-less-than-5-minutes-400j텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)