Advertisement
Guest User

Private Instagram User Scraper for Diggernaut

a guest
Sep 13th, 2016
965
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
YAML 26.45 KB | None | 0 0
  1. ---
  2. config:
  3.     agent: Firefox
  4. iterator:
  5.     - type: fieldset
  6.       fields:
  7.       - user: somusername
  8.         itemstoget: 30
  9.         mode: simple
  10. do:
  11. - walk:
  12.     to: https://www.instagram.com/
  13.     do:
  14.     - find:
  15.         path: body
  16.         do:
  17.         - parse:
  18.             filter: window\._sharedData\s+\=\s+([^;]+);
  19.         - normalize:
  20.             routine: json2xml
  21.         - to_block
  22.         - find:
  23.             path: config>csrf_token
  24.             do:
  25.            - parse
  26.             - variable_set: token
  27.         - walk:
  28.             to:
  29.                 post: https://www.instagram.com/accounts/login/ajax/
  30.                 headers:
  31.                     x-csrftoken: <%token%>
  32.                     x-instagram-ajax: 1
  33.                     x-requested-with: XMLHttpRequest
  34.                 data:
  35.                     username: your_instagram_username
  36.                     password: your_instagram_password
  37.             do:
  38.             - walk:
  39.                 to: https://www.instagram.com/<%user%>/
  40.                 do:
  41.                 - find:
  42.                     path: body
  43.                     do:
  44.                     - parse:
  45.                         filter: window\._sharedData\s+\=\s+([^;]+);
  46.                     - normalize:
  47.                         routine: json2xml
  48.                     - to_block
  49.                     - find:
  50.                         path: config>csrf_token
  51.                         do:
  52.                        - parse
  53.                         - variable_set: token
  54.                     - find:
  55.                         path: entry_data>profilepage
  56.                         do:
  57.                         - register_set: https://www.instagram.com/p
  58.                         - variable_set: baseurl
  59.                         - object_new: user
  60.                         - find:
  61.                             path: user>id
  62.                             do:
  63.                            - parse
  64.                             - object_field_set:
  65.                                 object: user
  66.                                 field: id
  67.                             - variable_set: userid
  68.                         - find:
  69.                             path: user>username
  70.                             do:
  71.                            - parse
  72.                             - object_field_set:
  73.                                 object: user
  74.                                 field: username
  75.                         - find:
  76.                             path: user>full_name
  77.                             do:
  78.                            - parse
  79.                             - object_field_set:
  80.                                 object: user
  81.                                 field: full_name
  82.                         - find:
  83.                             path: user>biography
  84.                             do:
  85.                            - parse
  86.                             - object_field_set:
  87.                                 object: user
  88.                                 field: biography
  89.                         - find:
  90.                             path: user>profile_pic_url
  91.                             do:
  92.                            - parse
  93.                             - object_field_set:
  94.                                 object: user
  95.                                 field: profile_pic_url
  96.                         - find:
  97.                             path: user>profile_pic_url_hd
  98.                             do:
  99.                            - parse
  100.                             - object_field_set:
  101.                                 object: user
  102.                                 field: profile_pic_url_hd
  103.                         - find:
  104.                             path: user>external_url
  105.                             do:
  106.                            - parse
  107.                             - object_field_set:
  108.                                 object: user
  109.                                 field: external_url
  110.                         - find:
  111.                             path: user>external_url_linkshimmed
  112.                             do:
  113.                            - parse
  114.                             - object_field_set:
  115.                                 object: user
  116.                                 field: external_url_linkshimmed
  117.                         - find:
  118.                             path: user>country_block
  119.                             do:
  120.                            - parse
  121.                             - object_field_set:
  122.                                 object: user
  123.                                 field: country_block
  124.                         - find:
  125.                             path: user>follows>count
  126.                             do:
  127.                            - parse
  128.                             - object_field_set:
  129.                                 object: user
  130.                                 field: follows
  131.                             - variable_set: follows
  132.                         - find:
  133.                             path: user>followed_by>count
  134.                             do:
  135.                            - parse
  136.                             - object_field_set:
  137.                                 object: user
  138.                                 field: followed_by
  139.                             - variable_set: followed_by
  140.                         - find:
  141.                             path: user>media>page_info>start_cursor
  142.                             do:
  143.                            - parse
  144.                             - variable_set: cursor
  145.                         - argument_get: itemstoget
  146.                         - if:
  147.                             match: all
  148.                             do:
  149.                             - find:
  150.                                 path: user>media>count
  151.                                 do:
  152.                                - parse
  153.                                 - variable_set: items_get
  154.                             else:
  155.                             - variable_set: items_get
  156.                         - walk:
  157.                             to:
  158.                                 post: https://www.instagram.com/query/
  159.                                 headers:
  160.                                     x-csrftoken: <%token%>
  161.                                     x-instagram-ajax: 1
  162.                                     x-requested-with: XMLHttpRequest
  163.                                 data:
  164.                                     q: 'ig_user(<%userid%>) {
  165.   followed_by.first(<%followed_by%>) {
  166.     count,
  167.     page_info {
  168.       end_cursor,
  169.       has_next_page
  170.     },
  171.     nodes {
  172.       id,
  173.       is_verified,
  174.       followed_by_viewer,
  175.       requested_by_viewer,
  176.       full_name,
  177.       profile_pic_url,
  178.       username
  179.     }
  180.   }
  181. }'
  182.                                     ref: 'relationships::follow_list'
  183.                             do:
  184.                             - find:
  185.                                 path: followed_by>nodes
  186.                                 do:
  187.                                 - object_new: followers
  188.                                 - find:
  189.                                     path: id
  190.                                     do:
  191.                                    - parse
  192.                                     - object_field_set:
  193.                                         object: followers
  194.                                         field: id
  195.                                 - find:
  196.                                     path: username
  197.                                     do:
  198.                                    - parse
  199.                                     - object_field_set:
  200.                                         object: followers
  201.                                         field: username
  202.                                 - find:
  203.                                     path: full_name
  204.                                     do:
  205.                                    - parse
  206.                                     - object_field_set:
  207.                                         object: followers
  208.                                         field: full_name
  209.                                 - find:
  210.                                     path: profile_pic_url
  211.                                     do:
  212.                                    - parse
  213.                                     - object_field_set:
  214.                                         object: followers
  215.                                         field: profile_pic_url
  216.                                 - find:
  217.                                     path: is_verified
  218.                                     do:
  219.                                    - parse
  220.                                     - object_field_set:
  221.                                         object: followers
  222.                                         field: is_verified
  223.                                 - find:
  224.                                     path: followed_by_viewer
  225.                                     do:
  226.                                    - parse
  227.                                     - object_field_set:
  228.                                         object: followers
  229.                                         field: followed_by_viewer
  230.                                 - find:
  231.                                     path: requested_by_viewer
  232.                                     do:
  233.                                    - parse
  234.                                     - object_field_set:
  235.                                         object: followers
  236.                                         field: requested_by_viewer
  237.                                 - object_save:
  238.                                     name: followers
  239.                                     to: user
  240.                         - walk:
  241.                             to:
  242.                                 post: https://www.instagram.com/query/
  243.                                 headers:
  244.                                     x-csrftoken: <%token%>
  245.                                     x-instagram-ajax: 1
  246.                                     x-requested-with: XMLHttpRequest
  247.                                 data:
  248.                                     q: 'ig_user(<%userid%>) {
  249.   follows.first(<%follows%>) {
  250.     count,
  251.     page_info {
  252.       end_cursor,
  253.       has_next_page
  254.     },
  255.     nodes {
  256.       id,
  257.       is_verified,
  258.       followed_by_viewer,
  259.       requested_by_viewer,
  260.       full_name,
  261.       profile_pic_url,
  262.       username
  263.     }
  264.   }
  265. }'
  266.                                     ref: 'relationships::follow_list'
  267.                             do:
  268.                             - find:
  269.                                 path: follows>nodes
  270.                                 do:
  271.                                 - object_new: following
  272.                                 - find:
  273.                                     path: id
  274.                                     do:
  275.                                    - parse
  276.                                     - object_field_set:
  277.                                         object: following
  278.                                         field: id
  279.                                 - find:
  280.                                     path: username
  281.                                     do:
  282.                                    - parse
  283.                                     - object_field_set:
  284.                                         object: following
  285.                                         field: username
  286.                                 - find:
  287.                                     path: full_name
  288.                                     do:
  289.                                    - parse
  290.                                     - object_field_set:
  291.                                         object: following
  292.                                         field: full_name
  293.                                 - find:
  294.                                     path: profile_pic_url
  295.                                     do:
  296.                                    - parse
  297.                                     - object_field_set:
  298.                                         object: following
  299.                                         field: profile_pic_url
  300.                                 - find:
  301.                                     path: is_verified
  302.                                     do:
  303.                                    - parse
  304.                                     - object_field_set:
  305.                                         object: following
  306.                                         field: is_verified
  307.                                 - find:
  308.                                     path: followed_by_viewer
  309.                                     do:
  310.                                    - parse
  311.                                     - object_field_set:
  312.                                         object: following
  313.                                         field: followed_by_viewer
  314.                                 - find:
  315.                                     path: requested_by_viewer
  316.                                     do:
  317.                                    - parse
  318.                                     - object_field_set:
  319.                                         object: following
  320.                                         field: requested_by_viewer
  321.                                 - object_save:
  322.                                     name: following
  323.                                     to: user
  324.                         - walk:
  325.                             to:
  326.                                 post: https://www.instagram.com/query/
  327.                                 headers:
  328.                                     x-csrftoken: <%token%>
  329.                                     x-instagram-ajax: 1
  330.                                     x-requested-with: XMLHttpRequest
  331.                                 data:
  332.                                     q: 'ig_user(<%userid%>) { media.after(<%cursor%>, <%items_get%>) {
  333.   count,
  334.   nodes {
  335.     caption,
  336.     code,
  337.     comments {
  338.       count
  339.     },
  340.     comments_disabled,
  341.     date,
  342.     dimensions {
  343.       height,
  344.       width
  345.     },
  346.     display_src,
  347.     id,
  348.     is_video,
  349.     likes {
  350.       count
  351.     },
  352.     owner {
  353.       id
  354.     },
  355.     thumbnail_src,
  356.     video_views
  357.   },
  358.   page_info
  359. }
  360.  }'
  361.                                     ref: 'users::show'
  362.                             do:
  363.                             - find:
  364.                                 path: media>count
  365.                                 do:
  366.                                - parse
  367.                                 - object_field_set:
  368.                                     object: user
  369.                                     field: media_count
  370.                             - find:
  371.                                 path: media>nodes
  372.                                 do:
  373.                                 - object_new: nodes
  374.                                 - find:
  375.                                     path: id
  376.                                     do:
  377.                                    - parse
  378.                                     - object_field_set:
  379.                                         object: nodes
  380.                                         field: id
  381.                                 - find:
  382.                                     path: is_video
  383.                                     do:
  384.                                    - parse
  385.                                     - object_field_set:
  386.                                         object: nodes
  387.                                         field: is_video
  388.                                 - find:
  389.                                     path: video_views
  390.                                     do:
  391.                                    - parse
  392.                                     - object_field_set:
  393.                                         object: nodes
  394.                                         field: vide_views
  395.                                 - find:
  396.                                     path: date
  397.                                     do:
  398.                                    - parse
  399.                                     - normalize:
  400.                                         routine: date_format
  401.                                         args:
  402.                                             format_in: '%s'
  403.                                             format_out: '%Y-%m-%d %H:%M:%S'
  404.                                     - object_field_set:
  405.                                         object: nodes
  406.                                         field: date
  407.                                 - find:
  408.                                     path: dimensions>width
  409.                                     do:
  410.                                    - parse
  411.                                     - object_field_set:
  412.                                         object: nodes
  413.                                         field: width
  414.                                 - find:
  415.                                     path: dimensions>height
  416.                                     do:
  417.                                    - parse
  418.                                     - object_field_set:
  419.                                         object: nodes
  420.                                         field: height
  421.                                 - find:
  422.                                     path: likes>count
  423.                                     do:
  424.                                    - parse
  425.                                     - object_field_set:
  426.                                         object: nodes
  427.                                         field: likes_count
  428.                                 - find:
  429.                                     path: comments>count
  430.                                     do:
  431.                                    - parse
  432.                                     - object_field_set:
  433.                                         object: nodes
  434.                                         field: comments_count
  435.                                 - find:
  436.                                     path: comments_disabled
  437.                                     do:
  438.                                    - parse
  439.                                     - object_field_set:
  440.                                         object: nodes
  441.                                         field: comments_disabled
  442.                                 - find:
  443.                                     path: caption_safe
  444.                                     do:
  445.                                    - parse
  446.                                     - object_field_set:
  447.                                         object: nodes
  448.                                         field: caption
  449.                                 - find:
  450.                                     path: thumbnail_src
  451.                                     do:
  452.                                    - parse
  453.                                     - object_field_set:
  454.                                         object: nodes
  455.                                         field: thumbnail
  456.                                 - find:
  457.                                     path: display_src
  458.                                     do:
  459.                                    - parse
  460.                                     - object_field_set:
  461.                                         object: nodes
  462.                                         field: media
  463.                                 - find:
  464.                                     path: code
  465.                                     do:
  466.                                    - parse
  467.                                     - variable_prepend:
  468.                                         field: baseurl
  469.                                         joinby: "/"
  470.                                     - object_field_set:
  471.                                         object: nodes
  472.                                         field: url
  473.                                     - variable_set: node_url
  474.                                     - argument_get: mode
  475.                                     - if:
  476.                                         match: extended
  477.                                         do:
  478.                                         - variable_get: node_url
  479.                                         - walk:
  480.                                             to: value
  481.                                             do:
  482.                                             - find:
  483.                                                 path: body
  484.                                                 do:
  485.                                                 - parse:
  486.                                                     filter: window\._sharedData\s+\=\s+([^;]+);
  487.                                                 - normalize:
  488.                                                     routine: json2xml
  489.                                                 - to_block
  490.                                                 - find:
  491.                                                     path: entry_data>postpage>media>comments>nodes
  492.                                                     do:
  493.                                                     - object_new: comments
  494.                                                     - find:
  495.                                                         path: '>id'
  496.                                                         do:
  497.                                                        - parse
  498.                                                         - object_field_set:
  499.                                                             object: comments
  500.                                                             field: id
  501.                                                     - find:
  502.                                                         path: user>id
  503.                                                         do:
  504.                                                        - parse
  505.                                                         - object_field_set:
  506.                                                             object: comments
  507.                                                             field: user_id
  508.                                                     - find:
  509.                                                         path: user>username
  510.                                                         do:
  511.                                                        - parse
  512.                                                         - object_field_set:
  513.                                                             object: comments
  514.                                                             field: username
  515.                                                     - find:
  516.                                                         path: user>profile_pic_url
  517.                                                         do:
  518.                                                        - parse
  519.                                                         - object_field_set:
  520.                                                             object: comments
  521.                                                             field: user_profile_pic
  522.                                                     - find:
  523.                                                         path: text
  524.                                                         do:
  525.                                                        - parse
  526.                                                         - object_field_set:
  527.                                                             object: comments
  528.                                                             field: text
  529.                                                     - find:
  530.                                                         path: created_at
  531.                                                         do:
  532.                                                         - parse:
  533.                                                             filter: (\d+)\.\d+
  534.                                                         - normalize:
  535.                                                             routine: date_format
  536.                                                             args:
  537.                                                                 format_in: '%s'
  538.                                                                 format_out: '%Y-%m-%d %H:%M:%S'
  539.                                                         - object_field_set:
  540.                                                             object: comments
  541.                                                             field: date
  542.                                                     - object_save:
  543.                                                         name: comments
  544.                                                         to: nodes
  545.                                                 - find:
  546.                                                     path: entry_data>postpage>media>likes>nodes
  547.                                                     do:
  548.                                                     - object_new: likes
  549.                                                     - find:
  550.                                                         path: user>id
  551.                                                         do:
  552.                                                        - parse
  553.                                                         - object_field_set:
  554.                                                             object: likes
  555.                                                             field: user_id
  556.                                                     - find:
  557.                                                         path: user>username
  558.                                                         do:
  559.                                                        - parse
  560.                                                         - object_field_set:
  561.                                                             object: likes
  562.                                                             field: username
  563.                                                     - find:
  564.                                                         path: user>profile_pic_url
  565.                                                         do:
  566.                                                        - parse
  567.                                                         - object_field_set:
  568.                                                             object: likes
  569.                                                             field: user_profile_pic
  570.                                                     - object_save:
  571.                                                         name: likes
  572.                                                         to: nodes
  573.                                                 - sleep: 3
  574.                                 - object_save:
  575.                                     name: nodes
  576.                                     to: user
  577.                         - object_save:
  578.                                 name: user
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement