مكتبة بايثون سريعة وحديثة لحذف التغريدات والمستخدمين بسرعة من واجهة برمجة التطبيقات غير الرسمية لتويتر.
تساعدك هذه الأداة على حذف التغريدات حسب عبارة البحث والتغريدات حسب المعرفات والمستخدم حسب أسماء المستخدمين. يستخدم واجهة برمجة تطبيقات Twitter، ويتم استخدام نفس واجهة برمجة التطبيقات على موقع الويب.
لقد استخدمت Twint لإلغاء التغريدات، ولكن به العديد من الأخطاء، ولا يعمل بشكل صحيح. لم يكن من السهل فهم الكود. تحتوي جميع المهام على تكوين واحد، ويجب على المستخدم معرفة المعلمة الدقيقة. آخر شيء مهم هو حقيقة أن واجهة برمجة التطبيقات (API) يمكن أن تتغير - تويتر هو مالك واجهة برمجة التطبيقات (API) وتعتمد التغييرات عليه. إنه أمر مزعج عندما لا يعمل شيء ما ويجب على المستخدمين الإبلاغ عن الأخطاء كمشكلات.
pip install -U stweet
إذا كنت ترغب في رعايتي، شكرًا على المشروع، من فضلك أرسل لي بعض العملات المشفرة؟:
عملة | عنوان المحفظة |
---|---|
بيتكوين | 3EajE9DbLvEmBHLRzjDfG86LyZB4jzsZyg |
ايثريوم | 0xE43d8C2c7a9af286bc2fc0568e2812151AF9b1FD |
لتقديم طلب بسيط، يجب إعداد مهمة الخردة. يجب أن تتم معالجة المهمة بواسطة ** عداء **.
import stweet as st
def try_search ():
search_tweets_task = st . SearchTweetsTask ( all_words = '#covid19' )
output_jl_tweets = st . JsonLineFileRawOutput ( 'output_raw_search_tweets.jl' )
output_jl_users = st . JsonLineFileRawOutput ( 'output_raw_search_users.jl' )
output_print = st . PrintRawOutput ()
st . TweetSearchRunner ( search_tweets_task = search_tweets_task ,
tweet_raw_data_outputs = [ output_print , output_jl_tweets ],
user_raw_data_outputs = [ output_print , output_jl_users ]). run ()
def try_user_scrap ():
user_task = st . GetUsersTask ([ 'iga_swiatek' ])
output_json = st . JsonLineFileRawOutput ( 'output_raw_user.jl' )
output_print = st . PrintRawOutput ()
st . GetUsersRunner ( get_user_task = user_task , raw_data_outputs = [ output_print , output_json ]). run ()
def try_tweet_by_id_scrap ():
id_task = st . TweetsByIdTask ( '1447348840164564994' )
output_json = st . JsonLineFileRawOutput ( 'output_raw_id.jl' )
output_print = st . PrintRawOutput ()
st . TweetsByIdRunner ( tweets_by_id_task = id_task ,
raw_data_outputs = [ output_print , output_json ]). run ()
if __name__ == '__main__' :
try_search ()
try_user_scrap ()
try_tweet_by_id_scrap ()
يوضح المثال أعلاه أن هناك بضعة أسطر من التعليمات البرمجية المطلوبة لإلغاء التغريدات.
يستخدم Stweet واجهة برمجة التطبيقات من موقع الويب لذلك لا توجد وثائق حول تلقي الرد. يتم حفظ الاستجابة كأولية لذا يجب على المستخدم النهائي تحليلها بنفسه. ربما سيتم إضافة المحلل اللغوي في الميزة.
يمكن تصدير البيانات الملغاة بطرق مختلفة باستخدام فئة مجردة RawDataOutput
. يمكن تمرير قائمة بهذه المخرجات في كل عداء - نعم من الممكن التصدير بطريقتين مختلفتين.
حاليا، نفذت sweet:
تم دمج المكتبة مع Tor-python-easy. يسمح باستخدام وكيل Tor مع منفذ تحكم مكشوف - لتغيير IP عند الحاجة.
إذا كنت ترغب في استخدام عميل وكيل Tor، فأنت بحاجة إلى إعداد عميل ويب مخصص واستخدامه في برنامج التشغيل.
أنت بحاجة إلى تشغيل وكيل Tor - يمكنك تشغيله على نظام التشغيل المحلي لديك، أو يمكنك استخدام أداة إنشاء عامل الإرساء هذه.
يوضح مقتطف الكود أدناه كيفية استخدام الوكيل:
import stweet as st
if __name__ == '__main__' :
web_client = st . DefaultTwitterWebClientProvider . get_web_client_preconfigured_for_tor_proxy (
socks_proxy_url = 'socks5://localhost:9050' ,
control_host = 'localhost' ,
control_port = 9051 ,
control_password = 'test1234'
)
search_tweets_task = st . SearchTweetsTask ( all_words = '#covid19' )
output_jl_tweets = st . JsonLineFileRawOutput ( 'output_raw_search_tweets.jl' )
output_jl_users = st . JsonLineFileRawOutput ( 'output_raw_search_users.jl' )
output_print = st . PrintRawOutput ()
st . TweetSearchRunner ( search_tweets_task = search_tweets_task ,
tweet_raw_data_outputs = [ output_print , output_jl_tweets ],
user_raw_data_outputs = [ output_print , output_jl_users ],
web_client = web_client ). run ()
يقوم Twitter على العميل الضيف بحظر ترقيم الصفحات المتعددة. في بعض الأحيان يكون من الممكن في استعلام واحد استدعاء 3 صفحات. لتجنب هذا القيد، قم بتقسيم فترة التخريد للأجزاء الأصغر.
حظر تويتر في عام 2023 في واجهة برمجة التطبيقات (API) وضع النطاق الزمني في الطابع الزمني - فقط التنسيق YYYY-MM-DD هو المقبول. في السهم يمكنك فقط وضع الوقت بدون ساعات.
يستخدم جزء صغير من المكتبة رمزًا من Twint. كان Twint أيضًا مصدر إلهام رئيسي لإنشاء stweet.