-
-
Save SourcingDenis/57ecc01af96ad874ea7816ce8182e454 to your computer and use it in GitHub Desktop.
meetup linkedin search
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
INSTRUCTIONS | |
1. Open this file in notepad or something similar | |
2. Paste your list of names where it says replace names | |
3. Go to linkedin and line up a people search for your city | |
4. In google chrome. In Windows and Linux hit: Ctrl + Shift + J. On Mac hit: Cmd + Option + J. | |
5. Copy paste this whole script in to the console and hit enter | |
6. leave the window active while it collects results | |
7. You should get a tab seperated CSV that you can open in Excel | |
*/ | |
//REPLACE THE NAMES ONLY | |
var input = ` | |
John Smith | |
Jane Doe | |
`; | |
var names = input.trim().split('\n'); | |
var people = []; | |
var i = 0; | |
function loop() { | |
//because I'm from the past and don't know about setting up promises and waiting for them to complete | |
setTimeout( function() { | |
console.log( 'run number ' + i ); | |
if (i > 0) { | |
var j = i - 1; | |
people[j] = {}; | |
var firstEntry = jQuery('li.search-result').first(); | |
if( firstEntry.length > 0 ) | |
{ | |
people[j].name = firstEntry.find('span.actor-name').text().trim(); | |
people[j].link = firstEntry.find('a').prop('href').trim(); | |
people[j].des = firstEntry.find('p.subline-level-1').text().replace(/[\n\r]+/g, '').trim(); | |
people[j].loc = firstEntry.find('p.subline-level-2').text().replace(/[\n\r]+/g, '').trim(); | |
people[j].pos = firstEntry.find('p.mt2').text().replace(/[\n\r]+/g, '').trim(); | |
console.log( 'stored ' + people[j].name ); | |
}else{ | |
people[j].name = names[j]; | |
people[j].link = 'not found'; | |
people[j].des = 'not found'; | |
people[j].loc = 'not found'; | |
people[j].pos = 'not found'; | |
} | |
} | |
if( i < names.length ) { | |
$('.search-typeahead-v2 artdeco-typeahead-deprecated-input')[0].dispatchEvent(new Event('focus')); | |
$('.search-typeahead-v2 artdeco-typeahead-deprecated-input input')[0].value = names[i]; | |
$('.search-typeahead-v2 artdeco-typeahead-deprecated-input input')[0].dispatchEvent(new Event('input')); | |
Ember.run(() => { | |
var blerg = $.Event('keydown'); | |
blerg.which = 13; | |
blerg.keyCode = 13; | |
this.$('form#extended-nav-search input').focus(); | |
this.$('form#extended-nav-search input').trigger(blerg); | |
}); | |
i++; | |
loop(); | |
} | |
else wrapup(people); | |
}, 3000); | |
} | |
function wrapup(people) | |
{ | |
console.log(people); | |
var tsv = tabValues(people); | |
var hiddenElement = document.createElement('a'); | |
hiddenElement.href = 'data:text/csv;charset=utf-8,' + encodeURI(tsv); | |
hiddenElement.target = '_blank'; | |
hiddenElement.download = 'people.csv'; | |
hiddenElement.click(); | |
} | |
function tabValues(array) { | |
var keys = Object.keys(array[0]); | |
var result = keys.join("\t") + "\n"; | |
array.forEach(function(obj){ | |
keys.forEach(function(k, ix){ | |
if (ix) result += "\t"; | |
result += obj[k]; | |
}); | |
result += "\n"; | |
}); | |
return result; | |
} | |
/////////////////////kick it off | |
loop(); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment