snscrape เป็นเครื่องมือขูดสำหรับบริการเครือข่ายโซเชียล (SNS) โดยจะดึงข้อมูลต่างๆ เช่น โปรไฟล์ผู้ใช้ แฮชแท็ก หรือการค้นหา และส่งคืนรายการที่ค้นพบ เช่น โพสต์ที่เกี่ยวข้อง
ปัจจุบันรองรับบริการต่อไปนี้:
snscrape ต้องใช้ Python 3.8 หรือสูงกว่า การขึ้นต่อกันของแพ็คเกจ Python จะถูกติดตั้งโดยอัตโนมัติเมื่อคุณติดตั้ง snscrape
โปรดทราบว่าหนึ่งในการอ้างอิง lxml จำเป็นต้องติดตั้ง libxml2 และ libxslt ด้วย
pip3 install snscrape
หากคุณต้องการใช้เวอร์ชันการพัฒนา:
pip3 install git+https://github.com/JustAnotherArchivist/snscrape.git
ไวยากรณ์ทั่วไปของ CLI ของ snscrape คือ:
snscrape [GLOBAL-OPTIONS] SCRAPER-NAME [SCRAPER-OPTIONS] [SCRAPER-ARGUMENTS...]
snscrape --help
และ snscrape SCRAPER-NAME --help
ให้รายละเอียดเกี่ยวกับตัวเลือกและข้อโต้แย้ง snscrape --help
ยังแสดงรายการเครื่องขูดที่มีอยู่ทั้งหมด
เอาต์พุตเริ่มต้นของ CLI คือ URL ของแต่ละผลลัพธ์
ตัวเลือกระดับโลกที่น่าสังเกตได้แก่:
--jsonl
เพื่อรับเอาต์พุตเป็น JSONL ซึ่งรวมถึงข้อมูลทั้งหมดที่ดึงออกมาโดย Snscrape (เช่น เนื้อหาข้อความ วันที่เวลา รูปภาพ รายละเอียดจะแตกต่างกันไปตามเครื่องมือขูด)--max-results NUMBER
เพื่อส่งคืนผลลัพธ์ NUMBER
แรกเท่านั้น--with-entity
เพื่อรับไอเท็มในเอนทิตีที่ถูกคัดลอก เช่น ผู้ใช้หรือช่องทาง เครื่องขูดบางรุ่นไม่รองรับสิ่งนี้ (คุณสามารถใช้สิ่งนี้ร่วมกับ --max-results 0
เพื่อดึงข้อมูลเอนทิตีเท่านั้น) รวบรวมทวีตทั้งหมดโดย Jason Scott (@textfiles):
snscrape twitter-user textfiles
โดยปกติแล้วจะมีประโยชน์ในการเปลี่ยนเส้นทางเอาต์พุตไปยังไฟล์เพื่อการประมวลผลเพิ่มเติม เช่น ใน bash โดยใช้ชื่อไฟล์ twitter-@textfiles
:
snscrape twitter-user textfiles > twitter-@textfiles
หากต้องการรับ 100 ทวีตล่าสุดพร้อมแฮชแท็ก #archiveteam:
snscrape --max-results 100 twitter-hashtag archiveteam
นอกจากนี้ยังสามารถใช้ snscrape เป็นไลบรารี่ใน Python ได้ แต่ขณะนี้ยังไม่มีเอกสารประกอบ
หากคุณพบปัญหาเกี่ยวกับ snscrape โปรดรายงานที่ https://github.com/JustAnotherArchivist/snscrape/issues หากคุณใช้ CLI โปรดเรียกใช้ snscrape ด้วย -vv
และรวมเอาต์พุตบันทึกไว้ในปัญหาด้วย หากคุณใช้ snscrape เป็นโมดูล โปรดเปิดใช้งานการบันทึกระดับการแก้ไขข้อบกพร่องโดยใช้ import logging; logging.basicConfig(level = logging.DEBUG)
(ก่อนที่จะใช้ snscrape เลย) และรวมเอาต์พุตบันทึกไว้ในปัญหา
ในบางกรณี การดีบักอาจต้องการข้อมูลมากกว่าที่มีอยู่ในบันทึก CLI มีตัวเลือก --dump-locals
ที่เปิดใช้งานการดัมพ์ตัวแปรโลคัลทั้งหมดภายใน snscrape ตามข้อความบันทึกที่สำคัญ (แทนที่จะเป็นตามค่าเริ่มต้นเฉพาะเมื่อขัดข้อง) โปรดทราบว่าไฟล์ดัมพ์อาจมีข้อมูลที่ละเอียดอ่อนในบางกรณีและอาจใช้เพื่อระบุตัวตนของคุณได้ (เช่น หากบริการรวมที่อยู่ IP ของคุณไว้ในการตอบกลับ) หากคุณต้องการจัดการการถ่ายโอนไฟล์แบบส่วนตัว เพียงระบุสิ่งนั้นในประเด็น
โปรแกรมนี้เป็นซอฟต์แวร์เสรี: คุณสามารถแจกจ่ายซ้ำและ/หรือแก้ไขได้ภายใต้เงื่อนไขของ GNU General Public License ตามที่เผยแพร่โดย Free Software Foundation ไม่ว่าจะเป็นเวอร์ชัน 3 ของใบอนุญาต หรือ (ตามตัวเลือกของคุณ) เวอร์ชันที่ใหม่กว่า
โปรแกรมนี้เผยแพร่ด้วยความหวังว่าจะมีประโยชน์ แต่ไม่มีการรับประกันใดๆ โดยไม่มีการรับประกันโดยนัยถึงความสามารถในการค้าขายหรือความเหมาะสมสำหรับวัตถุประสงค์เฉพาะ ดูใบอนุญาตสาธารณะทั่วไปของ GNU สำหรับรายละเอียดเพิ่มเติม
คุณควรได้รับสำเนาของ GNU General Public License พร้อมกับโปรแกรมนี้ ถ้าไม่ โปรดดู https://www.gnu.org/licenses/