웹 스크래핑 튜토리얼 - Chrome 확장 프로그램이 있는 Elixir API 서버

3773 단어




사이트 자동차 분류를 상상하고 결정된 차량 모델의 ​​가격 변경을 따라야 합니다. 나는 가짜 사이트를 'FakeCars'라고 불렀다. 시스템 안티봇 시스템이 많은 사이트다. Web Scraping 기본으로 사용하기 어렵지만 불가능하지는 않습니다!

우리는 페이지의 총 광고 수를 읽고 API 서버로 보내는 Chrome 확장 프로그램을 생성한다는 아이디어로 가격 추적을 위한 모델을 선택합니다. 우리는 그들의 가격을 매주 분석합니다.

가격 추적에 스택 사용:
  • Phoenix 프레임워크를 사용하는 Elixir의 API 서버 — 다음 게시물에서 코딩하고 API 서버에 대한 URL을 사용하는 순간: "http://localhost:4000/api/v1/chrome_ads/ "
  • JavaScript의 Chrome 확장 프로그램

  • 크롬 확장 프로그램 코딩



    크롬 확장 프로그램의 구조


    우리의 코드
    매니페스트.json v.3



    js/background.js


    js/popup.js



    js/fakecars_contentscript.js




    각 페이지 읽기에 대해 API 서버 a로 전송되는 JSON 구조입니다.



    코딩 API 서버



    1 - Phoenix 앱 만들기


    2 - config/dev.exs에서 PostgreSQL 로그인을 구성합니다.


  • 광고 모델 생성

  • $ mix phx.gen.schema Vehicle.Ad vehicle_ads ad_date:utc_datetime ad_id:string ad_source:string city:string km:integer price:integer state:string vehicle_brand:string vehicle_model:string vehicle_version:string year_manufacture:integer year_model:integer active:boolean
    



  • 데이터베이스 생성 및 마이그레이션 실행

  • $ mix ecto.create
    $ mix ecto.migrate
    


  • 'lib/ads_api_web/route.ex'에서 구성:
  • 마지막으로 수신한 JSON을 사용하고 데이터베이스에 저장하기 위해 'lib/ads_api_web/controllers/'에 api_controller.ex를 생성합니다.
  • 좋은 웹페이지 즐겨찾기