Advertisement
bretfeig

Untitled

Mar 7th, 2020
571
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 12.38 KB | None | 0 0
  1. javascript:(function()%7Bvar reg %3D (o%2C n) %3D> o %3F o%5Bn%5D %3A ''%3Bvar cn %3D (o%2C s) %3D> o %3F o.getElementsByClassName(s) %3A console.log(o)%3Bvar tn %3D (o%2C s) %3D> o %3F o.getElementsByTagName(s) %3A console.log(o)%3Bvar gi %3D (o%2C s) %3D> o %3F o.getElementById(s) %3A console.log(o)%3Bvar noHTML %3D (s) %3D> s.replace(%2F<.%2B%3F>%2Fg%2C '').replace(%2F%5Cs%2B%2Fg%2C ' ').replace(%2F%26.%2B%3F%3B%2Fg%2C '')%3Bvar delay %3D (ms) %3D> new Promise(res %3D> setTimeout(res%2C ms))%3Bvar firstNameCleanse %3D (str) %3D> %2F(%3F<%3D%5C().%2B%3F(%3F%3D%5C))%7C(%3F<%3D"%7C').%2B%3F(%3F%3D"%7C')%7C(%3F<%3D%5Ba-zA-Z%5D%7B1%2C3%7D%5C.%5Cs)%5CS%2B%2F.exec(str) %3F %2F(%3F<%3D%5C().%2B%3F(%3F%3D%5C))%7C(%3F<%3D"%7C').%2B%3F(%3F%3D"%7C')%7C(%3F<%3D%5Ba-zA-Z%5D%7B1%2C3%7D%5C.%5Cs)%5CS%2B%2F.exec(str)%5B0%5D %3A %2F%5CS%2B%2F.exec(str) %3F %2F%5CS%2B%2F.exec(str)%5B0%5D %3A str%3Bvar lastNameCleanse %3D (str) %3D> str%5B1%5D %26%26 %2F%5Ba-z%5D%2F.test(str%5B1%5D) %3F str.replace(%2F%5Cs*%5B%2C-%5D%5Cs*%5BA-Z%5Cs-%2C%5D%7B3%2C%7D%2F%2C'').replace(%2F%5Cs*%2C.%2B%2F%2C '') %3A str%3Bvar fixCase %3D (s)%3D> s.split(%2F%5Cb-%5Cb%2F).map(el%3D> el.replace(%2F%5Cw%5CS*%2Fg%2C (txt) %3D> txt.charAt(0).toUpperCase() %2B txt.substr(1).toLowerCase())).join('-')%3Bvar timer %3D new Date().getTime().toString().replace(%2F%5Cd%7B4%7D%24%2F%2C '0000')%3Bvar rando %3D (n) %3D> Math.round(Math.random() * n)%3Bvar fixDate %3D (s) %3D> s %3F s.replace(%2F%5Ba-zA-Z%5D%2B%2F%2C s.replace(%2F(%3F<%3D%5Ba-zA-Z%5D%7B3%7D).%2B%2Fg%2C '')) %3A ''%3Bvar parseDate %3D (o) %3D> o %3F new Date(o).getTime() %3A now%3Bvar milsec2Month %3D (n) %3D> Math.round(n %2F 2.628e%2B9)%3Bvar now %3D new Date().getTime()%3Bvar reChar %3D (s) %3D> typeof s %3D%3D 'string' %26%26 s.match(%2F%26%23.%2B%3F%3B%2Fg) %26%26 s.match(%2F%26%23.%2B%3F%3B%2Fg).length > 0 %3F s.match(%2F%26%23.%2B%3F%3B%2Fg).map(el %3D> %5Bel%2C String.fromCharCode(reg(%2F(%3F<%3D%26%23).%2B%3F(%3F%3D%3B)%2F.exec(el)%2C0))%5D).map(m %3D> s %3D s.replace(new RegExp(m%5B0%5D%2C 'i')%2C m%5B1%5D)).pop() %3A s%3Bvar noHtmlEntities %3D (s) %3D> typeof s %3D%3D 'string' %3F s.replace(%2F%26amp%3B%2Fg%2C '%26').replace(%2F%26quot%3B%2Fg%2C '"').replace(%2F%26apos%3B%2Fg%2C "'").replace(%2F%26nbsp%3B%2Fg%2C ' ') %3A s%3Bvar ele %3D (t) %3D> document.createElement(t)%3Bvar attr %3D (o%2C k%2C v) %3D> o.setAttribute(k%2C v)%3Bvar timeOffset %3D -(new Date().getTimezoneOffset() %2F 60)%3Bfunction genTrackId(n) %7Bvar s %3D ''%3Bvar chars %3D '0123456789abcdefghijklmnpoqrstuvwxyzABCDEFGHIJKLMNOPQRSTVUVWXYZ0123456789'%3Bfor (var i %3D 0%3B i <%3D n%3B i%2B%2B) %7Bs %2B%3D chars%5Brando(72)%5D%3B%7Dreturn s %2B '%3D%3D'%3B%7Dvar clientVersion %3D reg(%2F(%3F<%3Dvoyager-web_).%2B%3F(%3F%3D%25)%2F.exec(document.head.innerHTML)%2C 0) %3F reg(%2F(%3F<%3Dvoyager-web_).%2B%3F(%3F%3D%25)%2F.exec(document.head.innerHTML)%2C 0) %3A '1.5.29.1'%3Bvar trackingId %3D genTrackId(21)%3Bfunction creds(pubId) %7Breturn %7B"credentials"%3A "include"%2C"headers"%3A %7B"accept"%3A "application%2Fvnd.linkedin.normalized%2Bjson%2B2.1"%2C"accept-language"%3A "en-US%2Cen%3Bq%3D0.9"%2C"csrf-token"%3A reg(%2Fajax%3A%5Cd%2B%2F.exec(document.cookie)%2C 0)%2C"x-li-lang"%3A "en_US"%2C"x-li-page-instance"%3A "urn%3Ali%3Apage%3Ad_flagship3_profile_view_base%3B" %2B trackingId%2C"x-li-track"%3A "%7B%5C"clientVersion%5C"%3A%5C"" %2B clientVersion %2B "%5C"%2C%5C"osName%5C"%3A%5C"web%5C"%2C%5C"timezoneOffset%5C"%3A" %2B timeOffset %2B "%2C%5C"deviceFormFactor%5C"%3A%5C"DESKTOP%5C"%2C%5C"mpName%5C"%3A%5C"voyager-web%5C"%7D"%2C"x-restli-protocol-version"%3A "2.0.0"%7D%2C"referrer"%3A "https%3A%2F%2Fwww.linkedin.com%2Fin%2F" %2B pubId %2B "%2F"%2C"referrerPolicy"%3A "no-referrer-when-downgrade"%2C"body"%3A null%2C"method"%3A "GET"%2C"mode"%3A "cors"%7D%3B%7Dfunction parseBasics(obj) %7Breturn obj.included%5B0%5D.publicIdentifier %3F obj.included%5B0%5D.publicIdentifier %3A ''%3B%7Dasync function getBasics(pubId) %7Bvar res %3D await fetch("https%3A%2F%2Fwww.linkedin.com%2Fvoyager%2Fapi%2Fidentity%2Fprofiles%2F" %2B pubId %2B "%2F"%2C creds(pubId))%3Bvar d %3D await res.json()%3Breturn parseBasics(d)%3B%7Dasync function initProjectDownloader()%7Bvar reg %3D (o%2C n) %3D> o %3F o%5Bn%5D %3A ''%3Bvar cn %3D (o%2C s) %3D> o %3F o.getElementsByClassName(s) %3A console.log(o)%3Bvar tn %3D (o%2C s) %3D> o %3F o.getElementsByTagName(s) %3A console.log(o)%3Bvar gi %3D (o%2C s) %3D> o %3F o.getElementById(s) %3A console.log(o)%3Bvar noHTML %3D (s) %3D> s.replace(%2F<.%2B%3F>%2Fg%2C '').replace(%2F%5Cs%2B%2Fg%2C ' ').replace(%2F%26.%2B%3F%3B%2Fg%2C '')%3Bvar delay %3D (ms) %3D> new Promise(res %3D> setTimeout(res%2C ms))%3Bvar cleanName %3D (s) %3D> s.replace(%2F(%3F<%3D%5E.%2B%3F)%5Cs%2B-%5Cs%2B.%2B%7C(%3F<%3D%5E.%2B%3F)%5Cs*%5BsSJj%5D%5BRr%5D.%2B%7C(%3F<%3D%5E.%2B%3F)%5Cs*(III%7CIV%7CII).*%7C(%3F<%3D%5E.%2B%3F)%5Cb%2C.*%7C(%3F<%3D%5E.%2B%3F)%5Cs*%5C(.*%2F%2C '')%3Bvar fixCase %3D (s) %3D> s.replace(%2F%5Cw%5CS*%2Fg%2C (txt) %3D> txt.charAt(0).toUpperCase() %2B txt.substr(1).toLowerCase())%3Bvar timer %3D new Date().getTime().toString().replace(%2F%5Cd%7B4%7D%24%2F%2C '0000')%3Bvar rando %3D (n) %3D> Math.round(Math.random() * n)%3Bvar fixDate %3D (s) %3D> s %3F s.replace(%2F%5Ba-zA-Z%5D%2B%2F%2C s.replace(%2F(%3F<%3D%5Ba-zA-Z%5D%7B3%7D).%2B%2Fg%2C '')) %3A ''%3Bvar parseDate %3D (o) %3D> o %3F new Date(o).getTime() %3A now%3Bvar milsec2Month %3D (n) %3D> Math.round(n %2F 2.628e%2B9)%3Bvar now %3D new Date().getTime()%3Bvar ele %3D (t) %3D> document.createElement(t)%3Bvar attr %3D (o%2C k%2C v) %3D> o.setAttribute(k%2C v)%3Bfunction getStatus(obj%2C id) %7Bvar status %3D obj.projectStatuses%3Bif (status) %7Bfor (var i %3D 0%3B i < status.length%3B i%2B%2B) %7Bif (status%5Bi%5D.projectId %3D%3D id) %7Breturn status%5Bi%5D.status.text%3B%7D%7D%7D else %7Breturn ''%3B%7D%7Dfunction getTimeInJob(job) %7Bvar start %3D job %3F parseDate(job.i18nStartDate) %3A now%3Bvar end %3D job %3F parseDate(job.i18nEndDate) %3A now%3Bvar timeInJob %3D milsec2Month(end - start) %3F milsec2Month(end - start) %3A 0%3Breturn timeInJob%3B%7Dasync function loop25Parser(arr)%7Bvar outArr %3D %5B%5D%3Bfor(var i%3D0%3B i<arr.length%3B i%2B%2B)%7Bvar pubPath %3D await getBasics(arr%5Bi%5D.niid)%3Bconsole.log(pubPath)%3Bawait delay(rando(266))%3Bvar tsv %3D tocsv(arr%5Bi%5D%2CpubPath)%3BoutArr.push(tsv)%3B%7Dreturn outArr%3B%7Dfunction tocsv(obj%2Cpubpath) %7Bvar curUrl %3D window.location.href%3Bvar projectId %3D reg(%2F(%3F<%3DprojectId%3D)%5Cd%2B%2F.exec(curUrl)%2C 0)%3Bvar status %3D getStatus(obj%2C projectId)%3Bvar csvReady %3D (s) %3D> s.replace(%2F%26amp%3B%2Fg%2C '%26').replace(%2F%26quot%3B%2Fg%2C '"')%3Bvar validx %3D (el) %3D> el %3F el %3A null%3Bvar seekingJob %3D obj.isJobSeeker %7C%7C obj.careerInterests %3F 'yes' %3A 'no'%3Bvar seekingTitleArr %3D obj.careerInterests %3F obj.careerInterests.interestedTitles %3A null%3Bvar seekingTitles %3D seekingTitleArr %3F seekingTitleArr.toString() %3A ''%3Bvar lirPathLink %3D 'https%3A%2F%2Fwww.linkedin.com%2Frecruiter%2Fprofile%2F' %2B obj.memberId %2B '%2C' %2B obj.authToken %2B '%2C' %2B obj.authType%3Bvar job1 %3D obj.positions %3F validx(obj.positions%5B0%5D) %3A null%3Bvar job2 %3D obj.positions %3F validx(obj.positions%5B1%5D) %3A null%3Bvar jobTime1 %3D job1 %3F getTimeInJob(job1) %3A 0%3Bvar jobTime2 %3D job2 %3F getTimeInJob(job2) %3A 0%3Bvar empl1 %3D job1 %3F noHTML(reChar(job1.companyName)) %3A ' '%3Bvar empl2 %3D job2 %3F noHTML(reChar(job2.companyName)) %3A ' '%3Bvar title1 %3D job1 %3F noHTML(reChar(job1.title)) %3A ' '%3Bvar title2 %3D job2 %3F noHTML(reChar(job2.title)) %3A ' '%3Bvar publink %3D 'www.linkedin.com%2Fin%2F' %2B pubpath%3Bvar edu1 %3D obj.educations %26%26 obj.educations%5B0%5D %3F obj.educations%5B0%5D.schoolName %3A ' '%3Bvar edu2 %3D obj.educations %26%26 obj.educations%5B1%5D %3F obj.educations%5B1%5D.schoolName %3A ' '%3Bvar edu1end %3D obj.educations %26%26 obj.educations%5B0%5D %3F obj.educations%5B0%5D.i18nEndDate %3A ' '%3Bvar edu2end %3D obj.educations %26%26 obj.educations%5B1%5D %3F obj.educations%5B1%5D.i18nEndDate %3A ' '%3Bvar emailArr %3D obj.contactEmails %3F obj.contactEmails %3A %5B%5D%3Bvar emails %3D emailArr.length > 0 %3F emailArr.map(m %3D> m.email).toString() %3A null%3Bvar phoneArr %3D obj.contactPhones %3F obj.contactPhones %3A %5B%5D%3Bvar phones %3D phoneArr.length > 0 %3F phoneArr.map(m %3D> m.phone).toString() %3A null%3Bvar appArr %3D obj.jobApplications %3F obj.jobApplications %3A %5B%5D%3Bvar apps %3D appArr.length > 0 %3F appArr.map(m %3D> m.applyStarterJobId).toString() %3A null%3Bvar noteArr %3D obj.notes %3F obj.notes %3A %5B%5D%3Bvar notes %3D noteArr.length > 0 %3F noHTML(noteArr.map(m %3D> m.note.replace(%2F%5Cn%2Fg%2C ' _ ')).toString()) %3A null%3Bvar emailX %3D %2F%5B%5Cw%7C%5C.%5D%2B%40%5CS%2B%5C.%5Ba-zA-Z%5D%2B%2F%3Bvar phoneX %3D %2F((%5Cd%2B%5CW*)%5Cd*%7C)%5Cd%7B3%7D%5CW*%5Cd%7B3%7D%5CW*%5Cd%7B4%7D%2F%3Bvar em %3D (emailX.test(notes) %3D%3D%3D true %26%26 emailX.test(emails) %3D%3D%3D false) %3F reg(emailX.exec(notes)%2C 0) %3A emails%3Bvar ph %3D (phoneX.test(notes) %3D%3D%3D true %26%26 phoneX.test(phones) %3D%3D%3D false) %3F reg(phoneX.exec(notes)%2C 0) %3A phones%3Breturn %5Bpublink%2ClirPathLink%2CfixCase(firstNameCleanse(noHtmlEntities(reChar(obj.firstName))))%2CfixCase(lastNameCleanse(noHtmlEntities(reChar(obj.lastName))))%2CcsvReady(obj.location)%2CnoHtmlEntities(empl1)%2CjobTime1%2CnoHtmlEntities(title1)%2CnoHtmlEntities(empl2)%2CjobTime2%2CnoHtmlEntities(title2)%2CnoHtmlEntities(edu1)%2Cedu1end%2CnoHtmlEntities(edu2)%2Cedu2end%2Cstatus%2CseekingJob%2CseekingTitles%2Cem%2Cph%2Capps%2Cnotes%5D%3B%7Dasync function getPeopleFromProject(id%2C p) %7Bvar res %3D await fetch("https%3A%2F%2Fwww.linkedin.com%2Frecruiter%2Fapi%2Fprojects%2F" %2B id %2B "%2Fprofiles%3Fcount%3D25%26start%3D" %2B p)%3Bvar d %3D await res.json()%3Breturn d%3B%7Dasync function getAllPeopleFromProject() %7Bvar cont %3D ele('div')%3Battr(cont%2C'id'%2C 'searchResultsDL_cont')%3Battr(cont%2C'style'%2C 'position%3A fixed%3B top%3A 10%25%3B right%3A 30%25%3B width%3A 200px%3B padding%3A 6px%3B background%3A %23fff%3B border%3A 1.5px solid %23004471%3B border-radius%3A 0.25em%3B color%3A %23004471%3B z-index%3A 122222%3B')%3Bdocument.body.appendChild(cont)%3Bcont.innerText %3D 'Downloanding...'%3Bvar temp_csv_dl %3D %5B%5B'Public Profile'%2C 'LIR Profile'%2C 'First Name'%2C 'Last Name'%2C 'Location'%2C 'Current Employer'%2C 'Months In Job 1'%2C 'Current Title'%2C 'Previous Employer'%2C 'Months In Job 2'%2C 'Previous Title'%2C 'University 1'%2C 'Graduation Date 1'%2C 'University 2'%2C 'Graduation Date 2'%2C 'Project Status'%2C 'Open To Opportunities'%2C 'Desired Titles'%2C 'Emails'%2C 'Phones'%2C 'Job App Ids'%2C 'Notes'%5D%5D%3Bvar projectId %3D reg(%2F(%3F<%3DprojectId%3D)%5Cd%2B%2F.exec(window.location.href)%2C 0)%3Bvar res1 %3D await getPeopleFromProject(projectId%2C 0)%3Bvar searchHits2 %3D res1.result.searchHits%3Bvar total %3D res1.result.paging.total%3Bvar table1 %3D await loop25Parser(searchHits2)%3Bif (table1.length > 0) table1.forEach(el %3D> temp_csv_dl.push(el))%3Bfor (var i %3D 25%3B i < total%3B i %3D i %2B 25) %7Bgi(document%2C 'searchResultsDL_cont').innerText %3D (Math.round((i%2Ftotal)*10000)%2F100) %2B '%25 complete'%3Bvar res %3D await getPeopleFromProject(projectId%2C i)%3Bvar searchHits %3D res.result.searchHits%3Bvar table %3D await loop25Parser(searchHits)%3Bif (table.length > 0) table.forEach(el %3D> temp_csv_dl.push(el))%3Bawait delay(rando(1420)%2B800)%3B%7Dgi(document%2C 'searchResultsDL_cont').innerText %3D 'completed'%3Bdownloadr(temp_csv_dl%2C reg(%2F(%3F<%3DprojectId%3D)%5Cd%2B%2F.exec(window.location.href)%2C 0) %2B '.tsv')%3Bgi(document%2C 'searchResultsDL_cont').outerHTML %3D ''%3B%7Dfunction downloadr(arr2D%2C filename) %7Bvar data %3D %2F%5C.json%24%7C.js%24%2F.test(filename) %3F JSON.stringify(arr2D) %3A arr2D.map(el %3D> el.reduce((a%2C b) %3D> a %2B '%5Ct' %2B b)).reduce((a%2C b) %3D> a %2B '%5Cr' %2B b)%3Bvar type %3D %2F%5C.json%24%7C.js%24%2F.test(filename) %3F 'data%3Aapplication%2Fjson%3Bcharset%3Dutf-8%2C' %3A 'data%3Atext%2Fplain%3Bcharset%3Dutf-8%2C'%3Bvar file %3D new Blob(%5Bdata%5D%2C %7Btype%3A type%7D)%3Bif (window.navigator.msSaveOrOpenBlob) %7Bwindow.navigator.msSaveOrOpenBlob(file%2C filename)%3B%7D else %7Bvar a %3D document.createElement('a')%2Curl %3D URL.createObjectURL(file)%3Ba.href %3D url%3Ba.download %3D filename%3Bdocument.body.appendChild(a)%3Ba.click()%3BsetTimeout(() %3D> %7Bdocument.body.removeChild(a)%3Bwindow.URL.revokeObjectURL(url)%3B%7D%2C 10)%3B%7D%7DgetAllPeopleFromProject()%3B%7DinitProjectDownloader()%7D)()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement