Advertisement
Guest User

Diggernaut scraper

a guest
Nov 12th, 2018
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
YAML 4.50 KB | None | 0 0
  1. ---
  2. config:
  3.     debug: 2
  4.     agent: "Firefox"
  5. do:
  6. - walk:
  7.     to: https://base.apidae-tourisme.com/consulter/recherche-intuitive/99157/resultats?0
  8.     do:
  9.     - find:
  10.         path: div.resultat-item
  11.         do:
  12.         - object_new: item
  13.         - find:
  14.             path: div.titre-outer > div.titre > div.pull-left > a
  15.             do:
  16.            - parse
  17.             - space_dedupe
  18.             - trim
  19.             - object_field_set:
  20.                 object: item
  21.                 field: titre
  22.         - find:
  23.             path: div.titre-outer > div.titre > div.pull-left > a
  24.             do:
  25.             - parse:
  26.                 attr: href
  27.             - space_dedupe
  28.             - trim
  29.             - normalize:
  30.                 routine: url
  31.             - object_field_set:
  32.                 object: item
  33.                 field: url
  34.         - find:
  35.             path: div.titre-outer > div.titre > div.pull-left > span.informations-commune
  36.             do:
  37.            - parse
  38.             - space_dedupe
  39.             - trim
  40.             - object_field_set:
  41.                 object: item
  42.                 field: commune
  43.         - find:
  44.             path: div.titre-outer > div.titre > div.pull-left > span.objet-touristique-typologie
  45.             do:
  46.            - parse
  47.             - space_dedupe
  48.             - trim
  49.             - object_field_set:
  50.                 object: item
  51.                 field: typologie
  52.         - find:
  53.             path: 'div.resultat-actions-item > div[style="display: none;"] div.field:haschild(span.libelle:contains("Téléphone")) > span.valeur'
  54.             do:
  55.            - parse
  56.             - space_dedupe
  57.             - trim
  58.             - object_field_set:
  59.                 object: item
  60.                 field: telephone
  61.         - object_save:
  62.             name: item
  63.     - variable_set:
  64.         field: repeat
  65.         value: 'yes'
  66.     - walk:
  67.         to: 'https://base.apidae-tourisme.com/consulter/recherche-intuitive/99157/resultats?0-1.IBehaviorListener.0-rechercheObjetTouristiqueInfiniteResultatListPanel-container&_=1541861950218'
  68.         headers:
  69.             Wicket-Ajax: 'true'
  70.             Wicket-Ajax-BaseURL: 'consulter/recherche-intuitive/99157/resultats?0'
  71.             X-Requested-With: 'XMLHttpRequest'
  72.         repeat: <%repeat%>
  73.         do:
  74.         - variable_clear: ok
  75.         - find:
  76.             path: div.resultat-item
  77.             do:
  78.             - object_new: item
  79.             - find:
  80.                 path: div.titre-outer > div.titre > div.pull-left > a
  81.                 do:
  82.                - parse
  83.                 - space_dedupe
  84.                 - trim
  85.                 - object_field_set:
  86.                     object: item
  87.                     field: titre
  88.             - find:
  89.                 path: div.titre-outer > div.titre > div.pull-left > a
  90.                 do:
  91.                 - parse:
  92.                     attr: href
  93.                 - space_dedupe
  94.                 - trim
  95.                 - normalize:
  96.                     routine: url
  97.                 - object_field_set:
  98.                     object: item
  99.                     field: url
  100.             - find:
  101.                 path: div.titre-outer > div.titre > div.pull-left > span.informations-commune
  102.                 do:
  103.                - parse
  104.                 - space_dedupe
  105.                 - trim
  106.                 - object_field_set:
  107.                     object: item
  108.                     field: commune
  109.             - find:
  110.                 path: div.titre-outer > div.titre > div.pull-left > span.objet-touristique-typologie
  111.                 do:
  112.                - parse
  113.                 - space_dedupe
  114.                 - trim
  115.                 - object_field_set:
  116.                     object: item
  117.                     field: typologie
  118.             - find:
  119.                 path: 'div.resultat-actions-item > div[style="display: none;"] div.field:haschild(span.libelle:contains("Téléphone")) > span.valeur'
  120.                 do:
  121.                - parse
  122.                 - space_dedupe
  123.                 - trim
  124.                 - object_field_set:
  125.                     object: item
  126.                     field: telephone
  127.             - object_save:
  128.                 name: item
  129.             - variable_set:
  130.                 field: ok
  131.                 value: 1
  132.         - find:
  133.             path: body
  134.             do:
  135.             - variable_get: ok
  136.             - if:
  137.                 match: 1
  138.                 else:
  139.                 - variable_set:
  140.                     field: repeat
  141.                     value: 'no'
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement