
أداة متقدمة لكشط تويتر وجمع المعلومات الاستخباراتية مكتوبة بلغة Python ولا تستخدم واجهة برمجة تطبيقات تويتر، مما يسمح لك بكشط متابعي المستخدم، والأشخاص الذين يتابعهم، والتغريدات والمزيد مع تجنب معظم قيود واجهة البرمجة.

لا توثيق. لا واجهة برمجة تطبيقات. لا حدود.
توينت هي أداة متقدمة لاستخراج التغريدات من تويتر مكتوبة بلغة Python، تسمح باستخراج التغريدات من ملفات تعريف تويتر بدون استخدام واجهة برمجة تطبيقات تويتر.
توينت تستخدم عوامل بحث تويتر لتتيح لك استخراج التغريدات من مستخدمين محددين، واستخراج التغريدات المتعلقة بمواضيع معينة، ووسوم، واتجاهات، أو فرز المعلومات الحساسة من التغريدات مثل البريد الإلكتروني وأرقام الهواتف. أجد هذا مفيدًا جدًا، ويمكنك أن تكون مبدعًا حقًا به أيضًا.
توينت تقوم أيضًا باستعلامات خاصة لتويتر تسمح لك باستخراج متابعي مستخدم تويتر، والتغريدات التي أعجب بها المستخدم، ومن يتابعهم بدون أي توثيق، أو واجهة برمجة تطبيقات، أو سيلينيوم، أو محاكاة متصفح.
بعض فوائد استخدام توينت مقابل واجهة برمجة تطبيقات تويتر:
يحد تويتر من التمرير أثناء تصفح الجدول الزمني للمستخدم. هذا يعني أنه باستخدام .Profile أو .Favorites ستتمكن من الحصول على ~3200 تغريدة.
Git:
git clone --depth=1 https://github.com/twintproject/twint.git
cd twint
pip3 install . -r requirements.txt
Pip:
pip3 install twint
أو
pip3 install --user --upgrade git+https://github.com/twintproject/twint.git@origin/master#egg=twint
Pipenv:
pipenv install git+https://github.com/twintproject/twint.git#egg=twint
تمت الإضافة: Dockerfile
لاحظت أن الكثير من الأشخاص يواجهون مشاكل في التثبيت (بما في ذلك أنا). يرجى استخدام Dockerfile بشكل مؤقت بينما أنظر في هذه المشاكل.
بعض الأمثلة البسيطة لمساعدتك على فهم الأساسيات:
twint -u username - استخرج جميع تغريدات مستخدم (لا يتضمن إعادة التغريد ولكنه يتضمن الردود).twint -u username -s pineapple - استخرج جميع التغريدات من الجدول الزمني لـ المستخدم التي تحتوي على أناناس.twint -s pineapple - اجمع كل تغريدة تحتوي على أناناس من تغريدات الجميع.twint -u username --year 2014 - اجمع التغريدات التي تم تغريدها قبل 2014.twint -u username --since "2015-12-20 20:30:15" - اجمع التغريدات التي تم تغريدها منذ 2015-12-20 20:30:15.twint -u username --since 2015-12-20 - اجمع التغريدات التي تم تغريدها منذ 2015-12-20 00:00:00.twint -u username -o file.txt - استخرج التغريدات واحفظها في file.txt.twint -u username -o file.csv --csv - استخرج التغريدات واحفظها كملف csv.twint -u username --email --phone - أظهر التغريدات التي قد تحتوي على أرقام هواتف أو عناوين بريد إلكتروني.twint -s "Donald Trump" --verified - اعرض التغريدات من المستخدمين الموثقين الذين تغردوا عن دونالد ترامب.مزيد من التفاصيل حول الأوامر والخيارات موجودة في الويكي
يمكن الآن استخدام توينت كوحدة برمجية وتدعم التنسيق المخصص. مزيد من التفاصيل موجودة في الويكي
import twint
# Configure
c = twint.Config()
c.Username = "realDonaldTrump"
c.Search = "great"
# Run
twint.run.Search(c)
المخرجات
955511208597184512 2018-01-22 18:43:19 GMT <now> pineapples are the best fruit
import twint
c = twint.Config()
c.Username = "noneprivacy"
c.Custom["tweet"] = ["id"]
c.Custom["user"] = ["bio"]
c.Limit = 10
c.Store_csv = True
c.Output = "none"
twint.run.Search(c)
تفاصيل إعداد Elasticsearch مع توينت موجودة في الويكي.

تفاصيل الرسم البياني موجودة أيضًا في الويكي.
نحن نطور تطبيق سطح مكتب لتوينت.

حاولت استخراج التغريدات من مستخدم، وأنا أعلم أنها موجودة ولكني لا أحصل عليها
يمكن لتويتر أن يفرض حظرًا خفيًا على الحسابات، مما يعني أن تغريداتهم لن تكون متاحة عبر البحث. لحل هذه المشكلة، استخدم --profile-full إذا كنت تستخدم توينت عبر واجهة CLI، أو إذا كنت تستخدم توينت كوحدة برمجية، أضف config.Profile_full = True. يرجى ملاحظة أن هذه العملية ستكون بطيئة جدًا.
للحصول فقط على أسماء مستخدمي المتابعين/الذين يتابعهم
twint -u username --followers
twint -u username --following
للحصول على معلومات المستخدمين للمتابعين/الذين يتابعهم
twint -u username --followers --user-full
twint -u username --following --user-full
للحصول فقط على معلومات المستخدم عن المستخدم
twint -u username --user-full
للحصول على معلومات المستخدمين من قائمة مستخدمين
twint --userlist inputlist --user-full
للحصول على 100 تغريدة إنجليزية وترجمتها إلى الإيطالية
twint -u noneprivacy --csv --output none.csv --lang en --translate --translate-dest it --limit 100
أو
import twint
c = twint.Config()
c.Username = "noneprivacy"
c.Limit = 100
c.Store_csv = True
c.Output = "none.csv"
c.Lang = "en"
c.Translate = True
c.TranslateDest = "it"
twint.run.Search(c)
ملاحظات:
إذا كان لديك أي سؤال، أو ترغب في الانضمام إلى المناقشات، أو تحتاج إلى مساعدة إضافية، فنحن نرحب بك للانضمام إلى قناتنا المخصصة لتوينت على فريق OSINT
twint -g="48.880048,2.385939,1km" -o file.csv --csv - استخرج التغريدات من دائرة نصف قطرها 1km حول مكان في باريس وقم بتصديرها إلى ملف csv.twint -u username -es localhost:9200 - إخراج التغريدات إلى Elasticsearch.twint -u username -o file.json --json - استخرج التغريدات واحفظها كملف json.twint -u username --database tweets.db - احفظ التغريدات إلى قاعدة بيانات SQLite.twint -u username --followers - استخرج متابعي مستخدم تويتر.twint -u username --following - استخرج من يتابعهم مستخدم تويتر.twint -u username --favorites - اجمع كل التغريدات التي أبدى المستخدم إعجابه بها (يجمع ~3200 تغريدة).twint -u username --following --user-full - اجمع معلومات كاملة عن المستخدمين الذين يتابعهم شخص.twint -u username --timeline - استخدم طريقة فعالة لجمع التغريدات من ملف تعريف المستخدم (يجمع ~3200 تغريدة، بما في ذلك إعادة التغريد و الردود).twint -u username --retweets - استخدم طريقة سريعة لجمع آخر 900 تغريدة (بما في ذلك إعادة التغريد) من ملف تعريف المستخدم.twint -u username --resume resume_file.txt - استئناف بحث بدءًا من آخر scroll-id محفوظ.