السلام عليكم ورحمة الله وبركاته
شفت نفسي فاضي الوقت هذا فقلت راح اشرح طريقة برمجة اداة تشيكر للانستقرام
---------------------------------------------------------------
هذا الجزء من المحتوى مخفي
طبعا اللغة المستخدمة بايثون Python 3> up
من الاصدار الثالث وأعلى
يالله نبدأ
بسم الله
بداية راح نسوي
فنكشن وظيفة الفنكشن يستعلم عن
اليوزر هل هو
متاح او
لا
كود:
def Check(user):
payload =
dict(
email=
"ttttttt@yopmail.com",
password=
"Dd9393939",
username=user,
first_name=
"FirstName")
url =
"https://instagram.com/"
Sess = Con.Session()
Get = Sess.get(url)
#print(Sess.cookies)
Token = Sess.cookies[
'csrftoken']
Sess.headers = {
"Host":
"www.instagram.com",
"User-Agent":
"Mozilla/5.0(Windows NT 6.3;WOW64;rv:46.0)Gecko/20100101Firefox/46.0",
"Accept":
"*/*",
"Accept-Language":
"en-US,en;q=0.5",
"X-Instagram-AJAX":
"1",
"X-CSRFToken": Token,
"X-Requested-With":
"XMLHttpRequest",
"Referer":
"https://www.instagram.com/"
}
post = Sess.post(
"https://www.instagram.com/accounts/web_create_ajax/attempt/",payload)
j = (json.loads(post.text))
print(j[
'dryrun_passed'],
":",user)
عرفنا الدالة باسم
Check
تاخذ
بارمتر واحد فقط لاغير اللي هو اليوزر
اما السطر اللي بعده
عرفنا متغير
payload
وهذا المتغير هو البوست اللي راح نرسلة
كل القيم اللي فيه وهمية
كود PHP:
payload = dict(email="ttttttt@yopmail.com",password="Dd9393939",username=user,first_name="FirstName")
عباره عن
dictinori دكشنري او
مصفوفة بمفاتيح
طبعا هذي المتغيرات الخاصة بالانستقرام واعطيناها قيم وهمية
ايميل من راسي وباسورد من راسي والاسم الاول من راسي
ماعدا username اعطيناه القيمة user واليوزر هذا هو البارمتر اللي بالفنكشن يوم سويناه
----------------------------------------------------------------
السطر اللي بعده
url هذا متغير اضفنا فيه رابط الاسنتقرام
المتغير اللي بعده
سوينا جلسة جديدة عن طريق مكتبة requests
ضرووري نستدعي المكتبة باعلى الكود
تم استدعاء المكتبة باسم import requests
-------------------------------------------------------------
المتغير
Get هذا يتصل على موقع الانستقرام عشان نسحب الهيدر ويهمنا هنا
التوكن فقط لاغير
---------------------------------------------
Tokenمتغير
هنا سحبنا التوكن من الانستقرام بعد مااتصلنا عليه
اما هنا المتغير اللي بعده
Sess.headers
ارسلنا الهيدر اللي نبي كأننا متصلين من متصفح معاه التوكن اللي سحبناه
------------------
المتغير اللي بعده
post
هنا ارسلنا البوست للموقع فيه رابط الموقع مع البايلود اللي سويناه أول شي
بعد مانرسله راح يجينا ناتج ولكن الناتج عباره عن
json
راح نستعرض فقط
dryrun_passedمن الناتج اللي راح يجينا وهو يجي ثلاث حالات اللي يهمنا حالتين
True متاح
غير متاح False
الان نستدعي الدالة اللي سويناها فوق ونظيف بها يوزر
Check("
djsjjdj")
اي يوزر بالبارمتر راح يتصل عالموقع ويتأكد هل هو متاح او لا ويعطينا الناتج
True
False
----------------------------------------------------------
طيب بالغالب المبرمجين يسوون طريقة التخمين عن طريق لستة
يخلونها داخل حلقة تكرار يعني مثلا لو بسويها من داخل لستة كحلقة
مثال
كود:
user = (
'ssd',
"kskjfjs",
"kksd",
"20002",
"llsllsl",
"test",
"login",
"hello",
"kksjfhj",
"kkkkk",
"9dkskd",
"dkkdkd",
"ooodiifod",
"ooodiisid",
"jhjfhdhhfjd",
"lllskdks",
"hello",
"ider")
for item
in user:
Check(item)
وراح يبدا التخمين على طول السلسة كلها
وحسب اتصالك
طيب فيه طريقتين نتخطى هالمشكلة
اولها نستخدم ثريد او مايسمى
Thread
او طريقة اخرى اسمها
multiprocess
الفرق بين الطريقتين وشو
ثريد انه يرسل الاستعلامات بالتوازي
ولكن فيه مشكله بعد لو كان الاتصال ضعيف نفس الحكاية
طيب بنستخدم الحركة الثانيه وهي تعتمد على مواصفات الجهاز اولا وثانيا على الاتصال
ونقدر نقسم الارسال حسب مانبي
يعني بامكاني ارسل 200 استعلام كل ثانيتين
وبنفس الووقت
لكن ماراح اعقد الكود
بس بخلي الفكره مفهومة
راح نسويه كالتالي
كود:
user = (
'ssd',
"kskjfjs",
"kksd",
"20002",
"llsllsl",
"test",
"login",
"hello",
"kksjfhj",
"kkkkk",
"9dkskd",
"dkkdkd",
"ooodiifod",
"ooodiisid",
"jhjfhdhhfjd",
"lllskdks",
"hello",
"ider")
p = Pool()
item = p.map(Check,user)
print(
" Finished in : " +
str(
int(time.time() - start_time)) +
"s")
بيكون سريع بالاستعلام
طبعا بالامكان تقسيم البروسس حسب
ماتريد عن طريق مكتبات اخرى
لكن هذا الكود مبدئي جدا لتوضيح الفكرة
وإلا بالامكان اني اسوي خارطة لطريقة الاستعلام كالتالي
كل عشرين استعلام بنفس الوقت واضيفها داخل ثريد
Thread ايضا
بحيث يكون الاستعلام مضاعف وبنفس الوقت
وايضا عشان ماأتعب الذاكره
وهذا الكود كامل
طبعا اضفت مكتبة التايم عشان معرفة حساب ناتج الاستعلام بالكامل
ناتج الاستعلام بجهازي على اللستة اخذ 6 ثواني فقط
كود: