สคริปต์เพื่อดึงสมาชิกกลุ่ม Facebook และส่งออกเป็นไฟล์ CSV เครื่องมือแยกสมาชิกกลุ่ม Facebook นี้ทำงานในเบราว์เซอร์ โดยไม่ต้องติดตั้งส่วนขยายหรือใช้พรอกซี เพียงคัดลอกและวางสคริปต์ลงในคอนโซล Chrome ของคุณ
ไปที่หน้ากลุ่ม Facebook
เปิดคอนโซลนักพัฒนาซอฟต์แวร์ Chrome
คัดลอกวางโค้ดต่อไปนี้ลงในคอนโซล มันจะเพิ่มปุ่ม "ดาวน์โหลด 0 สมาชิก" สิ่งสำคัญ: คัดลอก/วาง ก่อนที่จะย้ายไปที่แท็บ "บุคคล/สมาชิก"
คลิกที่แท็บ "บุคคล" ของหน้ากลุ่ม
เลื่อนเพื่อโหลดสมาชิกใหม่ที่จะถูกคัดลอกโดยสคริปต์ ตัวนับปุ่มเพิ่มขึ้นเมื่อสมาชิกใหม่ถูกคัดลอก
เมื่อเสร็จแล้ว ให้คลิกที่ปุ่ม "ดาวน์โหลดสมาชิก X" เพื่อดาวน์โหลดไฟล์ CSV ที่สร้างขึ้น
โปรไฟล์จะถูกเก็บไว้ในแคชจนกว่าคุณจะคลิกปุ่ม "รีเซ็ต" ด้วยแคชนี้ โปรไฟล์ที่แยกออกมายังคงใช้งานได้หากเบราว์เซอร์ของคุณ "ขัดข้อง"
อ่านคำแนะนำทีละขั้นตอนของเราเพื่อแยกสมาชิกกลุ่ม Facebook และค้นหาโปรไฟล์ LinkedIn ของพวกเขา
dist/main.min.js
var G=Object.defineProperty,Q=(e,t,n)=>t ใน e?G(e,t,{enumerable:!0,configurable:!0,เขียนได้:!0,value:n}): e[t]=n,M=(e,t,n)=>(Q(e,"สัญลักษณ์"!=typeof t?t+"":t,n),n);ฟังก์ชัน ee(e,t){for(var n="",r=0;r<t.length;r++)n+=function(e){for(var t="",n=0;n<e. length;n++){var r=null===e[n]||"u"<typeof e[n]?"":e[n].toString(),r=(r=e[n]อินสแตนซ์ของ วันที่?e[n].toLocaleString():r).replace(/"/g,'""');0<n&&(t+=","),t+=r=0<=r.search(/ ("|,|n)/g)?'"'+r+'"':r}return t+``}(t[r]);var i=new Blob([n],{type:"text/csv;charset=utf-8;"}),o=document.createElement("a");เป็นโมฆะ 0!==o.ดาวน์โหลด&&(i=URL.createObjectURL(i),o.setAttribute("href",i),o.setAttribute("ดาวน์โหลด",e),document.body.appendChild(o),o. คลิก (),document.body.removeChild(o))}const _=(t,e)=>e.some(e=>t อินสแตนซ์ของ e); ให้ P, j; ฟังก์ชั่น te(){return P=P||[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction]}ฟังก์ชัน ne(){return j=j||[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype. ContinuePrimaryKey]}const D=ใหม่ WeakMap,E=ใหม่ WeakMap,b=new WeakMap;function re(o){var e=new Promise((e,t)=>{const n=()=>{o.removeEventListener("success",r),o.removeEventListener("error",i)},r=()=>{e(h(o.result)),n() },i=()=>{t(o.error),n()};o.addEventListener("success",r),o.addEventListener("error",i)});กลับ b.set(e,o),e}ฟังก์ชั่น เช่น(o){var e;D.has(o)||(e=new Promise((e,t)=>{const n=()=>{o.removeEventListener("สมบูรณ์",r),o.removeEventListener("ข้อผิดพลาด",i),o.removeEventListener("ยกเลิก",i)},r=()=>{e( ),n()},i=()=>{t(o.error||ใหม่ DOMException("AbortError","AbortError")),n()};o.addEventListener("สมบูรณ์",r),o.addEventListener("ข้อผิดพลาด",i),o.addEventListener("abort",i)} ),D.set(o,e))}ให้ C={get(e,t,n){if(e instance of IDBTransaction){if("done"===t)return D.get(e);if("store"===t)return n.objectStoreNames[1]?void 0:n.objectStore(n.objectStoreNames[0])}return h(e[t])}, set(e,t,n){return e[t]=n,!0},has(e,t){return e อินสแตนซ์ของ IDBTransaction&&("done"===t||"store"===t)||t in e}};function K(e){C=e(C)}function oe(t){return ne() .includes(t)?function(...e){return t.apply(S(this),e),h(this.request)}:function(...e){return h(t.apply( S(นี่),e))}}ฟังก์ชัน se(e){return"function"==typeof e?oe(e):(e instance ของ IDBTransaction&&ie(e),_(e,te())?new Proxy(e,C):e)}function h( e){if(e อินสแตนซ์ของ IDBRequest)return re(e);if(E.has(e))return E.get(e);var t=se(e);return t!==e&&(E.set(e,t),b.set(t,e)),t}const S=e=>b.get(e);ฟังก์ชั่น ae(e,t,{ถูกบล็อก: n,อัพเกรด:r,การปิดกั้น:i,สิ้นสุด:o}={}){const s=indexedDB.open(e,t),a=h(s);return r&&s.addEventListener("จำเป็นต้องอัปเกรด",e=>{r(h(s.result),e.oldVersion,e.newVersion,h(s.transaction),e)}),n&&s.addEventListener("ถูกบล็อก",e =>n(e.oldVersion,e.ne wVersion,e)),a.then(e=>{o&&e.addEventListener("ปิด",()=>o()),i&&e.addEventListener("versionchange",e=>i(e.oldVersion,e. newVersion,e))}).catch(()=>{}),a}const ce=["get", "getKey", "getAll", "getAllKeys", "count"], de=["put", "add", "ลบ", "clear"], I = แผนที่ใหม่; ฟังก์ชั่น R(e,t){if(e instance of IDBDatabase&&!(t in e)&&"string"==typeof t){if(I.get(t))return I.get(t);const r=t.replace(/FromIndex$/,""),i=t!==r,o=de.includes(r);return r ใน(i?IDBIndex:IDBObjectStore).ต้นแบบ&&(o||ce. รวม(r))?(e=async function(e,...t){e=this.transaction(e,o"readwrite"": "อ่านอย่างเดียว"); ให้ n=e.store;return i&&(n=n.index(t.shift())),(รอ Promise.all([n[r](...t),o&&e.done]))[0]},I.set(t ,จ)จ):เป็นโมฆะ 0}}K(r=>({...r,get:(e,t,n)=>R(e,t)||r.get(e,t,n),มี:(e, t)=>!!R(e,t)||r.has(e,t)}));const le=["continue,”continuePrimaryKey,”advance”],V={},B= ใหม่ WeakMap,U=ใหม่ WeakMap,ue={get(e,t){if(!le.includes(t))return e[t];let n=V[t];return n=n||(V[t]=function( ...e){B.set(this,U.get(this)[t](...e))})}};async function*fe(...e){let t=this;if (t=t อินสแตนซ์ของ IDBCursor?t:รอ t.openCursor(...e)){t=t;var n=new Proxy(t,ue);for(U