โครงการนี้มีวัตถุประสงค์เพื่อให้สำเนาโฆษณาทางการเมืองที่สามารถค้นหาได้และครบถ้วนบนคลังโฆษณาบน Facebook
ตั้งแต่วันที่ 17.08.2023 ยังมีโฆษณาที่แสดงในสหภาพยุโรปซึ่งมีอายุไม่เกินวันที่ดังกล่าวด้วย คุณสามารถดูช่องพิเศษด้านล่างได้
Facebook ให้ข้อมูลทั้งหมดนี้ผ่านทางเว็บอินเตอร์เฟสแล้ว ปัญหาคือค้นหาได้ยาก จึงไม่มีประโยชน์จริงในการวิเคราะห์โฆษณาทางการเมือง นอกจากนี้ API ยังเข้าถึงได้ยากและถูกจำกัดในหลาย ๆ ด้าน
ข้อมูลนี้ถูกกำหนดให้เป็นสาธารณะแล้ว ดังนั้นชุดข้อมูลนี้จึงช่วยให้ Facebook Meta ต้องการมอบความโปร่งใสเท่านั้น
ไซต์เพื่อเข้าถึงข้อมูลสด: https://ad-archive.nexxxt.cloud
ข้อมูลจะถูกโหลดโดยตรงจาก API อย่างเป็นทางการ
ตั้งแต่ V3 โฆษณาได้รับการรวบรวมข้อมูลโดยใช้คำค้นหาว่าง (*) ในทุกประเทศ ข้อความค้นหานี้ดูน่าเชื่อถือและส่งคืนโฆษณาทั้งหมดในทุกหน้า
ก่อนหน้านี้ข้อมูลถูกดาวน์โหลดโดย page_id ที่ได้รับจากรายงานโฆษณา สิ่งเหล่านี้ควรรวมเฉพาะหน้าเว็บที่เกี่ยวข้องกับการเมืองหรือประเด็นที่มีความสำคัญทางการเมือง แต่ไม่ใช่ทั้งหมดจะถูกตั้งค่าสถานะอย่างชัดเจน
เนื่องจากรายงานเหล่านี้มี page_names ที่ผู้ใช้สร้างขึ้นและข้อจำกัดความรับผิดชอบ ชื่อหรือข้อจำกัดความรับผิดชอบบางชื่ออาจได้รับความเสียหายจากอักขระแปลก ๆ
อีกสิ่งหนึ่งที่ฉันรู้คือโฆษณาบางรายการ (หรือทั้งหน้า?) ไม่สามารถค้นหาได้ชั่วคราว (หรือถาวร?) ด้วย page_id ที่เผยแพร่โฆษณาเหล่านั้น คุณสามารถระบุได้โดยการตรวจสอบจำนวนโฆษณาที่ระบุจากรายงานเทียบกับจำนวนโฆษณาที่โหลดจริงในชุดข้อมูล บ่อยครั้งยังส่งผลให้หน้าเว็บดูเหมือนไม่มีโฆษณาด้วย คุณสามารถระบุได้โดยช่องข้อความว่างเปล่า (msg="")
ปัญหาอีกประการหนึ่งคือโฆษณาจาก page_id=0 หน้าไม่สามารถรวบรวมข้อมูลโดย page_id ได้ สิ่งเหล่านี้มักหมายถึง "ผู้ใช้ Instagram ของบาง ID" หรือผู้ใช้แพลตฟอร์ม Facebook อื่น ๆ ดูรายงานที่ฉันใช้สำหรับข้อมูลเพิ่มเติม อัปเดต: มีการรวบรวมข้อมูลโดยใช้เคล็ดลับการสืบค้นที่ว่างเปล่า นอกจากนี้ ฉันยังตระหนักในภายหลังว่าเมื่อรวบรวมข้อมูลไซต์ขนาดใหญ่มากจะว่างเปล่า แม้ว่าไซต์เหล่านั้นควรมีโฆษณาก็ตาม
ท้ายที่สุดส่งผลให้โฆษณาในชุดข้อมูลนี้น้อยกว่าที่ควรจะเป็นตามรายงาน ตอนนี้น่าจะแม่นพอควร
id("_id" ในตาราง)
ad_creation_time
ad_creative_bodies
ad_creative_link_captions
ad_creative_link_descriptions
ad_creative_link_titles
ad_delivery_start_time
ad_delivery_stop_time
ภาษา
page_id
page_name
ผู้เผยแพร่_แพลตฟอร์ม
ทางสายย่อย
สกุลเงิน
การจัดส่ง_ตาม_ภูมิภาค
ข้อมูลประชากร_การกระจาย
ประมาณ_ผู้ชม_ขนาด
ความประทับใจ
ใช้จ่าย
target_locations
target_gender
target_ages
eu_total_reach
ผู้รับผลประโยชน์_ผู้จ่ายเงิน
อายุ_ประเทศ_เพศ_การเข้าถึง_รายละเอียด
แสดงผล (กำหนดว่าเวอร์ชันที่เรนเดอร์พร้อมใช้งานหรือไม่) (เลิกใช้แล้วตั้งแต่ V5!)
rendering_started (ใช้สำหรับเข้าคิวโฆษณาเพื่อแสดงผล) (เลิกใช้แล้วตั้งแต่ V5!)
สูญหาย (จริง หากไม่พบโฆษณาขณะแสดงผล)
_last_updated (ประกอบด้วยวันที่ที่โฆษณาถูกรวบรวมข้อมูล/อัปเดตครั้งล่าสุด)
ไม่มีการรวบรวมข้อมูลช่อง ad_snapshot_url
เนื่องจากเป็นเพียงการผสมผสานระหว่างรหัสและโทเค็นการเข้าถึงของคุณ:
https://www.facebook.com/ads/archive/render_ad/?id=<id>&access_token=<token>
หากต้องการไปที่โฆษณาหากคุณไม่มีโทเค็นการเข้าถึง คุณสามารถใช้ลิงก์นี้:
https://www.facebook.com/ads/library/?id=<id>
หากต้องการแสดงโฆษณาโดยไม่มีโทเค็นการเข้าถึง คุณสามารถใช้พนักงาน cloudflare ของฉันเพื่อพร็อกซีข้อมูล: https://render-facebook-ad.lejo.workers.dev/<id>
คุณอาจต้องปิดการใช้งานการตั้งค่าความเป็นส่วนตัวบางอย่างเป็นเบราว์เซอร์ ( เช่น Firefox) บล็อกคำขอข้ามไซต์ Facebook
สำหรับข้อมูลเพิ่มเติม โปรดดูที่ไฟล์ example.json
หรือคำอธิบายของฟิลด์ใน API อย่างเป็นทางการ
สคริปต์จากโฟลเดอร์ preview_renderer
ใช้เพื่อจับภาพหน้าจอขององค์ประกอบที่เกี่ยวข้องจาก ad_snapshot_url
ของโฆษณาแต่ละรายการ ฐานข้อมูล render_queue
แยกกันใช้สำหรับจัดคิวโฆษณาเพื่อแสดงผล หลังจากเรนเดอร์ภาพจะถูกเก็บไว้เป็นเวลาหนึ่งเดือน แต่สามารถเรนเดอร์ใหม่ได้ตลอดเวลา
หลังจากเรนเดอร์แล้ว คุณสามารถดูได้ที่นี่: https://facebook-ad-previews.nexxxt.cloud/<id>.jpg
คุณสามารถเข้าถึงข้อมูลปัจจุบันที่จัดเก็บไว้สำหรับโฆษณาได้ตลอดเวลาที่: https://ad-archive.nexxxt.cloud/ad/<AD_ID>
ตำแหน่งข้อมูลนี้อาจใช้สำหรับการดาวน์โหลดข้อมูลโฆษณาอัตโนมัติและอนุญาตคำขอข้ามต้นทาง โปรดทราบว่าอาจต้องใช้เวลาสักระยะในการรวบรวมข้อมูลและเพิ่มโฆษณาใหม่ลงในฐานข้อมูล
ในวันที่ 17.08.2023 โฆษณา EU ทั้งหมดนับตั้งแต่วันที่ดังกล่าวปรากฏในฐานข้อมูล ตอนนี้มีขนาดเพิ่มขึ้นกว่าสองเท่าเมื่อก่อน โฆษณา EU มีช่องเพิ่มเติมตามที่ระบุไว้ข้างต้น
ฟิลด์ที่ใช้สำหรับการเรนเดอร์ได้ถูกลบออกแล้ว (ยกเว้นส่วนที่หายไป) และขณะนี้ได้รับการจัดการแยกกัน
ดาวน์โหลดข้อมูลเมตา (02.11.2023) kaggle
ดาวน์โหลดข้อมูลเมตา (01.03.2024) kaggle
การดาวน์โหลดฐานข้อมูลเป็นไฟล์ JSON และการบีบอัดมันใช้เวลานานมากขึ้น นั่นเป็นเหตุผลที่ฉันเปลี่ยนมาใช้ไฟล์ BSON ที่บีบอัด (bson.gz) สิ่งเหล่านี้มีต้นกำเนิดมาจาก mongodb และสามารถสร้างได้รวดเร็วและเชื่อถือได้มากขึ้น
สิ่งเหล่านี้สร้างขึ้นโดยใช้เครื่องมือ mongodump และสามารถโหลดลงใน mongodb ของคุณเองได้โดยใช้ mongorestore คุณยังสามารถแปลงเป็นไฟล์ json ปกติได้โดยใช้เครื่องมือ bsondump
นอกจากนี้ คุณยังสามารถใช้ไฟล์ข้อมูลเมตาเพื่อกู้คืนดัชนีที่ใช้ในฐานข้อมูลของฉันได้
ชุดข้อมูลเหล่านี้บางส่วนมีอยู่ใน kaggle ด้วย
ดาวน์โหลดข้อมูลเมตา (07.09.2022)
ดาวน์โหลดข้อมูลเมตา (22.10.2022) kaggle
ดาวน์โหลดข้อมูลเมตา (30.12.2022) kaggle
ดาวน์โหลดข้อมูลเมตา (15.03.2023) kaggle
ดาวน์โหลดข้อมูลเมตา (06.08.2023) kaggle
โฆษณาได้รับการรวบรวมข้อมูลโดยใช้คำค้นหาว่าง (*) ในทุกประเทศ ตามทฤษฎีแล้วควรจะมีโฆษณาทั้งหมดในห้องสมุด
เพิ่ม rendered
ฟิลด์สำหรับการดูตัวอย่าง
ไม่มีไฟล์คอลเลกชัน todo.json
เนื่องจากสถิติไม่ถูกต้องและไม่เกี่ยวข้องกับการรวบรวมข้อมูลนี้
ดาวน์โหลด (09.02.2022)
ดาวน์โหลด (03.04.2022)
ดาวน์โหลด (26.05.2022)
V2 และเก่ากว่า:
todo.json
- ไฟล์: อิงตามรายงานโฆษณาและมีเพจทั้งหมดที่รวบรวมข้อมูลพร้อมการประทับเวลาของการรวบรวมข้อมูลครั้งล่าสุดและเคอร์เซอร์เพจ (หลัง)
นอกจากนี้ยังมีสถิติหน้าสำหรับข้อจำกัดความรับผิดชอบและประเทศต่างๆ หน้าใหญ่ควรจะเสร็จสมบูรณ์แล้ว มีการใช้รายงานหลายฉบับจากวันที่ต่างกันในการอัปเดต
ดาวน์โหลด
ฉันรวบรวมข้อมูลจากห้องสมุดเยอรมันและสหรัฐอเมริกาก่อน จากนั้นจึงตัดสินใจสร้างการรวบรวมข้อมูลแบบเต็ม
สำหรับการรวบรวมข้อมูลนี้ todo.json
มีฟิลด์ lang
ที่ระบุรายงานที่มาจากเพจ รายงานทั้งหมดถูกโหลดลงในฐานข้อมูลโดยอัตโนมัติโดยใช้สคริปต์ import_reports.py
ดาวน์โหลดรายงาน
ข้อมูลของประเทศเหล่านี้มีอยู่ใน kaggle.com ด้วย
รายงานการดาวน์โหลดเยอรมนี (DE)
รายงานการดาวน์โหลดสหรัฐอเมริกา (US)
ก่อนหน้านี้การรวบรวมข้อมูลเสร็จสิ้นตามรายงานอย่างเป็นทางการจาก Facebook ฉันโหลดมันลงใน mongodb และสคริปต์ crawl.py
เก่าดึงข้อมูลจาก Api และเพิ่มลงในคอลเลกชันโฆษณา ตอนนี้ฉันแค่ใช้เคล็ดลับการสืบค้นที่ว่างเปล่า (*) เพื่อดาวน์โหลดโฆษณาจากทุกหน้าในทุกประเทศ ดูที่: crawlall.py
ในการทำเช่นนั้น คุณต้องมีโทเค็นการเข้าถึง (หรือหลายรายการที่ดีกว่า) สคริปต์จะจัดการการจำกัดอัตราโดยอัตโนมัติ แต่คุณอาจไม่สามารถดึงหลายเธรดได้หากคุณมีโทเค็นไม่เพียงพอ
สำหรับข้อมูลเพิ่มเติม โปรดดูที่ไฟล์ crawlall.py
หากคุณมีข้อมูลเพิ่มเติมเกี่ยวกับ API/Library ของ Facebook หรือเชื่อว่ามีปัญหาทางกฎหมายเกี่ยวกับการเผยแพร่ข้อมูลนี้ โปรดติดต่อฉัน: [email protected] หรือเปิดประเด็น!