discord icon
سرور دیسکورد گاردایران

Mr.Python

مدير بخش
  • تعداد ارسال ها

    512
  • تاریخ عضویت

  • آخرین بازدید

  • روز های برد

    75

تمامی مطالب نوشته شده توسط Mr.Python

  1. Mr.Python

    نحوه ورود به اینستاگرام با پایتون

    دوستان مثل اینکه صحبت راجب این موضوع داغ شده بود گفتم یه سری نکاتو بگم .. ببینید این پست ، پست آموزشی نیست و خیلی واضحه که اینجا من نیومدم بگم بهتون توضیح بدم فلان پارامتر چیه از کجا اومده چجوری نوشته میشه و اسمش چیه (که دوستان میگن Timestamp هستش ( و من دقیق نمیدونم اسمش چیه) - بله شما با یه سرچ کوچیک تو گوگل ، میتونید حتی نحوه قرار دادن این مقدارو تو اسکریپت ، یاد بگیرید ، کاری هم نداره و از ماژول time و data استفاده میشه.. این اسما و اموزشارو دیگه خیلی راحت میتونید تو مقاله ها فروما و سایتا پیدا کنید من نیومدم پست بزنم بگم اموزش نحوه ورود به اینستاگرام...! نیومدم بهتون اموزش بدم هر خط این اسکریپت چیکار میکنه ... صرفا تجربه ای بود که در اختیار دوستان قرار دادم و مجددا عرض میکنم ، کرکر هارو به همین شکل مینوشتم . زمانی هم که اینستاگرام این تغییرات رو نداده بود به خوبی کار میکرد. اما الان هم من با سیستمام تست کردم و مشکلی نداشت اسکریپت به خوبی کار میکنه . کسی که برنامه نویسی بلد باشه با یه تغییر کوچیک (استفاده از Tor یا پروکسی) و اضافه کردن چند تا حلقه همین اسکریپتو به کرکر تبدیل کنه ( اینارو وقعا نباید گفت چون انقدری بدیهی هست که من حتی حوصلم نمیاد بگم!) خلاصه راجب اون عدد ده رقمی ، من طبق (تجربه) گفتم یه عدد دلخواه هست چرا؟ چون خودم تست کردم با عدد های دیگه و مشکلی ندیدم! حالا اینکه اگه دوستی میگه نمیشه و این اسکریپت خطا میده و غیره ، خب عزیز من شما هم تست کن و مشکلتو تو انجمن پست کن باهم بررسی میکنیم ببینیم اشکال از کجا بوده که حتی بتونیم این اسکریپتم بهترش کنیم یچیزایی باهم یاد بگیریم در غیر اینصورت اجازه بدین من این صحبتارو قبول نکنم . چون طبق تست هایی که "شخصا" انجام دادم هیچ مشکلی تو اسکریپت نبوده . پ ن : هیچ اشکالی نداره اگه همه ما سوادمون کم باشه یا اشتباه داشته باشیم ، به شرط اینکه "درست" و با "اخلاق" رفتار کنیم . کمک کنیم به هم که کارا رو درست پیش ببریم . پرخاشگری و عصبانیت های بیجا ، برای خودتون خوب نیست ، الکی سلامت روانتون بهم میریزه ..
  2. کد های پست رو تست کنید و اگر به مشکلی خوردید، تصویر ارور رو قرار بدید و مشکلتونو عنوان کنید. ضمنا خیلی از کرکر ها به همین شکل نوشته میشن و تا به حال کرکر هایی که تو طول این چند سال در انجمن گذاشتیم به همین شکل نوشته شده و دوستان هم جواب گرفته بودند. به دقت نگاه کنید، تو اسکریپتی که قراردادیم به طور خودکار توکن ها از سمت سرور دریافت میشه و کاربر دخالتی تو این موضوع نداره. تغییر هدر هایی مثل user agent هم به راحتی توسط ماژول هایی مه نوشته شده قابل انجامه. بقیه هدر هارم میتونید به همین شکل براش ماژول بنویسید که تغییر بده.. اما در هر صورت، تغییر کل هدر ها در هر بار درخواست به سرور، کار بیهوده ایه..
  3. قبلا در رابطه با این موضوع پستی تو انجمن گذاشتیم.
  4. Mr.Python

    پایتون را از کجا شروع کنیم؟

    با پایتون 3 شروع کنید . تو پایتون 3 یه سری تغییرات تو توابع و سینتاکس ها اعمال شده.. پایتون 2 عملا منسوخ شده .خیلی وقته. البته هنوز هم کار میکنه ولی تو parse کردن و آنالیز کد های اسکی مشکل داره . یه سری اضافات داره که همه اینا رو تو پایتون 3 اوکی کردن . جزئیات بیشترو میتونید گوگل کنید . اما منابع : پیشنهاد میشه از کتاب های انگلیسی استفاده کنید . اکثرشون پی دی اف دارن کتاب های خوب شامل :(اینارو تو بعضی مدارس خارج از کشور هم تدریس میکنن) Head first Python python for everybody python crash course python cookbook think python effective python سه کتاب اول در سطح مبتدی تا متوسط هستن بقیشون سطحشون پیشرفته تره . البته effective python رو هم میتونید بخونید برای شروع .. از آموزش های ویدیویی فارسی به شخصه استفاده نکردم ولی میتونید امتحانشون کنین . سایت های خوب برای یادگیری و تمرین : https://www.geeksforgeeks.org/ https://automatetheboringstuff.com/ https://www.learnpython.org/ https://www.programiz.com/python-programming https://realpython.com/ https://www.pythonforbeginners.com/ https://www.tutorialspoint.com/python/index.htm https://www.w3schools.com/python/ https://www.coursera.org/courses?query=python و اما کتاب های خوب فارسی زبان : آموزش پایتون | جعفر نژاد قمی آموزش کاربردی زبان پایتون | علیرضا عظیم زاده میلانی از هر چیزی برای یادگیری استفاده کنین ولی اینارو بذارید تو اولویت . ضمنا در کنار یادگیری هر زبان برنامه نویسی حتما زبان انگلیسی رو تقویت کنید .
  5. Mr.Python

    دیکد اترنت فریم .

    این کد ها همه یه سری اعداد در مبنای 16 هستن که شما میتونی طبق قاعده ای که برای این نوع اطلاعات از قبل مشخص شده ، برای دیکد کردن استفاده کنی قواعدی که خود سازنده مشخص کرده ، به طور مثال ، سازنده گفته 6 بایت اول رو میذاریم مک ادرس هدف یا تارگت ولی 6 بایت دوم مک ادرس خودم .. 4 بایت بعدی نوع اترنت و مثلا عدد اول از 4 بایت دوم ، ipv6 یا ipv4 رو مشخص کنه . خلاصه که اینا همش تو نت هست .. اما یه بلاک هایی از این کد ها مربوط میشه به هدر ها و پیلود های هر request که شما باید اون اعدادی که تو این بلاک ها هست رو تبدیل کنی به عدد باینری یعنی از مبنای 16 ببری به مبنای 2 (که میتونی از روش دسته بندی استفاده کنی یعنی هر 4 تا عدد تو مبنای 2 میشه یه عدد تو مبنای 16.. ) در نتیجه میای این کدی که به باینری تبدیل شده رو به اسکی یا حروف انگلیسی تبدیل میکنی مثلا یکی از بلاک کدهای موجود تو این پکتی که قرار دادی اینه: 41 75 74 68 6F 72 69 7A 61 74 69 6F 6E 3A 20 42 61 73 69 63 20 59 32 39 75 5A 6D 6B 36 5A 47 56 75 64 47 6C 68 62 41 3D 3D 0D 0A که اگه به باینری و بعد به اسکی تبدیل بشه میشه : Authorization: Basic Y29uZmk6ZGVudGlhbA== تبدیل باینری به اسکی طبق قواعد از پیش تعیین شدس .. هر 8 بیت یک حرف رو نشون میده که جدول این قواعد رو میتونی تو سایت های زیادی پیدا کنی یکیش اینه: https://www.ascii-code.com/ میتونی برای تمام این مراحل کد بنویسی (تبدیل هگز یا مبنای 16 به مبنای 2 (باینری) و بعد تبدیل به اسکی ) چجوری؟ استخراج جدول تو سایت بالا و ذخیره با فرمت خودت تو یه فایل متنی و ... اما متنی که تو باکس بالا داریم یعنی : Y29uZmk6ZGVudGlhbA== یه کد بیس 64 هست که باید دیکد بشه (میتونی باز از برنامه نویسی استفاده کنی یا سایت های اماده انلاین یا ابزار های اماده .. که دیکدش میشه : confi:dential
  6. برنامه واسش نوشتن تو مایکروسافت استور هم هست خودتونم میتونید بنویسید برنامشو.. قبلش تو گوگل سرچ میزدین پیدا میکردین البته من تست نکردم این برنامه هارو که موقع خواب هم جواب میده یا نمیده یا چجوریاس
  7. طبق اموزشی که تو این لینک قرار داده شده عمل کنین نتیجه میگیرین . ضمنا برای ارسال پیام باید بین هر پیام حداقل یه مدت زمانی وقفه بذارید وگرنه ارسال پیام به مشکل میخوره. تو آموزش بالا ما با headless داریم کار میکنیم که شما میتونین بخشهای مربوط به headless و profile رو از کد حذف کنید ، تاروند کار رو بتونین ببینین..
  8. 1.چک کنید که ورژن مرورگر و chromedriver.exe باهم همخونی داشته باشه. حتما از سایت اصلیش دانلود کنین. 2.قبل از اجرای برنامتون، تمام سشن های مربوط به کروم رو ببندید. 3.اگه بازم جواب نگرفتید از نسخه های پایینتر کروم + chromedriver استفاده کنین.
  9. Mr.Python

    تمرین برنامه نویسی با پایتون

    اینم یه مدل دیگش: seconds = int(input('Enter the time : ')) main = [seconds//3600, (seconds-(seconds//3600)*3600)//60, seconds-((seconds//3600)*3600+((seconds-(seconds//3600)*3600)//60)*60)] n = 0 for i in main: if i < 10:main[n] = '0'+str(i) n+=1 print(f'{main[0]}:{main[1]}:{main[2]}')
  10. Mr.Python

    تمرین برنامه نویسی با پایتون

    جواب تمرین 5 : seconds = int(input('Enter the time : ')) h = seconds//3600 m = (seconds-(seconds//3600)*3600)//60 s = seconds-(h*3600+m*60) if h < 10: h = '0'+str(h) if m < 10: m = '0'+str(m) if s < 10: s = '0'+str(s) print(f'{h}:{m}:{s}')
  11. Mr.Python

    تمرین برنامه نویسی با پایتون

    تمرین 5: - برنامه ای بنویسید که زمان را بر حسب ثانیه دریافت کند و ان را به ساعت و دقیقه و ثانیه تبدیل کند (خروجی باید به شکل 01:20:45 باشد) جواب در پست پایین
  12. Mr.Python

    دانلود از یوتیوب Youtube

    لینکی که بهتون میده باید حتما با فیلتر شکن بازش کنید . انواع کیفیت ها + فایل های صوتی رو هم در اختیارتون قرار میده.. در اصل این اسکریپت یه web scraper هست. import requests as rq, json r = rq.post('https://y2mate.guru/api/convert', data={'url':'YouTube Url'}) js = json.loads(r.text) urls = [] n = 0 for i in js['url']: try: total = i['filesize'] if (total / 1024) < 1: size = '{0:.1f}'.format(total) + ' Bytes' elif (total / 1024) > 1: if (total / 1024) < 1024: size = '{0:.1f}'.format(total / 1024) + ' KB' elif (total / 1024) >= 1024 and (total / 1024) < 1048576: size = '{0:.1f}'.format(total / 1048576) + ' MB' else: size = '{0:.1f}'.format(total / (1048576 * 1024)) + ' GB' else: size = '1 KB' print('[%d] '%n+i['name'] + ' / '+ i['subname'] + ' / ' +size) urls.append(i['url']) n += 1 except: pass a = input('\n[+] Which one ? ') print('\n'+urls[int(a)])
  13. خیلی از دوستان از من میپرسیدن چجوری میشه بدون سلنیوم selenium وارد پنل اسکای روم بشیم. برای ورود به کلاس باید از selenium استفاده کنین (برای حاضری زدن ، میتونین دنبال url مربوط به لوگوی در حال لود، باشین و اگه اونو تو driver.page_source پیدا کردین برین تو باسک چت حضوری بزنید - باا یه حلقه while True و try و except به راحتی میتونین اینکارو انجام بدین - جزئیات بیشترو میتونید پیام بدید راهنمایی کنم) اینم سورس خودکار ورود به پنل بدون سلنیوم: import requests import urllib.parse import re user = 'username' pwd = 'password' r = requests.Session() res = r.get('https://www.skyroom.online/users/login') ref = re.compile(r'name="referrer" value="(.*)" />').findall(res.text)[0] payload = {'gadget':"Users", 'action':"Login", 'authtype':"Skyroom", 'referrer':ref, 'username':user, 'password':pwd} headers_text = '''Host: www.skyroom.online User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:81.0) Gecko/20100101 Firefox/81.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8 Accept-Language: en-US,en;q=0.5 Accept-Encoding: gzip, deflate, br Content-Type: application/x-www-form-urlencoded Content-Length: %s Origin: https://www.skyroom.online Referer: https://www.skyroom.online/users/login/referrer/%s Upgrade-Insecure-Requests: 1'''%(str(len(urllib.parse.urlencode(payload))), ref) hdrs = {i.split(': ')[0]:i.split(': ')[1] for i in headers_text.split('\n')} res = r.post('https://www.skyroom.online/index.php', data=payload, headers=hdrs) res = r.get('https://www.skyroom.online/skyroom/stats') if '<title>بلوک ورود - اسکای‌روم</title>' in res.text: print('Login failed') else: print('Login Successfully!')
  14. Mr.Python

    تمرین برنامه نویسی با پایتون

    جواب تمرین 4 : import re def moshtaq(k): reg = r'\-*[a-zA-Z1-9]*\d*x\^*\-*\d*[a-zA-Z1-9]*' all = re.compile(reg).findall(k) dv = '' for p in all: if '^' not in p: for i in re.compile(r'(\-*[a-zA-Z1-9]*\d*)x').findall(p): if i == '':dv+='1' elif i == '-':dv+='-1' else: if '-' not in i: dv+='+'+i else: dv+=i else: zarayeb = ''.join(re.compile('(.*)x\^\-*\d*(.*)').findall(p)[0]) zarib = 1 zarib_q = '' z_q = '' for jj in re.compile(r'\d+').findall(zarayeb): zarib *= int(jj) zarayeb = zarayeb.replace(jj, '') while zarayeb != '': if zarayeb[0] == '-': zarib *= -1 else: zarib_q += zarayeb[0] zarayeb = zarayeb[1:] while zarib_q != '': c = zarib_q.count(zarib_q[0]) if c > 1: z_q+= zarib_q[0]+'^'+str(c) zarib_q = zarib_q.replace(zarib_q[0], '') else: z_q+=zarib_q[0] zarib_q = zarib_q.replace(zarib_q[0], '') reg_2 = r'x\^(\-*\d*)' gg = re.compile(reg_2).findall(p) zarib *= int(gg[0]) if '-' not in str(zarib)+z_q: dv += '+'+ str(zarib)+z_q+'x^'+str(int(gg[0]) - 1) else: dv += str(zarib)+z_q+'x^'+str(int(gg[0]) - 1) print(dv) moshtaq('-y5x^-4c4yb-2x^5+4x+7+40x-8+2') moshtaq('-200x^4c4yb-2x^5+4x-5x-5+7+40x^-1-8+2') moshtaq('-ab') moshtaq('ab') moshtaq('1') moshtaq('-x') moshtaq('+x') moshtaq('ax+b') moshtaq('ax^2+bx+c') moshtaq('ax^1') moshtaq('222x') moshtaq('10-40x+30')
  15. Mr.Python

    تمرین برنامه نویسی با پایتون

    تمرین 4 - تابعی بنویسید که مشتق یک عبارت چند جمله ای رو برحسب x حساب کند (اگر توان منفی رو هم در نظر بگیرید که خیلی بهتره برای تمرین بیشتر) : - عبارت جبری شامل ضرایب ثابت غیر عددی مثل حروف انگلیسی a b j c و شامل ضرایب عددی 4 2 6 7 میباشد. - علامت توان به شکل ^ هست - شناسه ی تابع moshtaq هست (اسم تابع) نمونه هایی از توابع چند جمله ای که به تابع Moshtaq دادیم : moshtaq('-y5x^4c4yb-2x^5+4x+7+40x-8+2') moshtaq('-5x^4c4yb-2x^5+4x-5x-5+7+40x-8+2') خروجی : -80y^2cbx^3-10x^4+4+40 -80cybx^3-10x^4+4-5+40 اگه خیلی دنبال کاملتر کردنش هستین : میتونین اعداد ثابتی که باقی میمونه رو رو هم محاسبه کنین (با تابع eval) مثلا تو خروجی اول ، ما 4 + 40 رو داریم که میتونین با یه تیکه کد تبدیلش کنین به 44 جواب در پست پایین قرار داده میشه.
  16. نمیدونی هاستت ویندوزه یا لینوکس؟! من تو پست نوشتم که برای سرور لینوکسی هستش نه برا ویندوز
  17. فرق نمیکنه .. یه چیز همینجوری هم میتونین بنویسین تو جواب اون کد کشور و اسم سازمان و اینا میتونی نقطه بذاری ردش کنی
  18. بله باید تو سورس باشه! توضیحات کامل هست دوباره یه نگاه به سورسی که قرار دادم بندازید با همون ترتیب بنویسید رباتتونو
  19. Mr.Python

    چالش مومو

    متاسفانه تو کشور ما مردم ناآگاه زیاد شده ولی خیلی تعجب میکنم که چرا دنبال این نیستن چیزی یاد بگیرن.. من امروز خیلی از پیامارو تو سطح نت میدیدم و واثعا متاسف شدم از این سطح اگاهی و توهمی که اکثر مردم دچارش شدن.. کسی صرفا با تلفن زدن به کسی دیگه ، هک نمیکنه چیزیو .. از طریق sniff ، شنود شبکه ، بریک کردن پروتکل ها ، شناسایی اسیب پذیری تو سطح شبکه میتونیم اطلاعات مردمو بدزدیم ، رایج ترینش که البته کار تکنیکی ای هم هست استفاده از پروتکل ss7 مخابراته .. چیزی که شما عملا هر کاری که با سیم کارتتون انجام میشه از طریق اون میشه اطلاعات رو ضبط و مشاهده کرد.. که کار اسونی نیست و تجهیزات و روابط خودشو میطلبه.. و به شکل عادی نمیشه با زنگ زدن به یکی هکش کرد! این وسط یه چیزی هست به اسم مهندسی اجتماعی ، چیزی که مرتبا داره اسیب میزنه به کاربران سطح اینترنت.. میان کاربرو گول میزنن (به هزاران هزار روش مختلف) که ازشون اطلاعات کسب کنن ، نقاط ضعفشونو بفهمن ، در نهایت از تمام این اطلاعات سو استفاده کنن و شخص رو تهدید کنن.. اون کسی که میاد به اسم مومو یا هرچیز دیگه ای با شما ارتباط برقرار میکنه ، یه ادم مریض و باهوشه! میدونه چجوری از نقطه ضعف مردم استفاده کنه... خب اگه منو شما بدونیم که نباید هر چیزیو در اختیار مردم بذاریم ، نباید با هر کسی اختلاط کنیم ، نباید شماره تلفنمونو در اختیار کسی قرار بدیم ، حواسون به نرم افزار هایی که نصب میکنیم باشه ، رو گوشی انتی ویروس خوب و اپدیت شده نصب کنیم ، اونوقت این بساطا هم خیلی زود جمع میشه.. من خودم خبر هایی شنیدم از اینکه نوجوون 12 ساله اگه اشتباه نکنم بخاطر این مسئله خودکشی کرده.. اشکال کار کجاست ؟ من نه روانشناسم نه سخنران نه از همه بیشتر میفهمم.. ولی خیلی واضحه و روشنه که باید همه مردم چه کوچیک چه بزرگ دنبال اگاهی باشن .. سطح سوادشونو ببرن بالا.. اگه کوچیکن بزرگترا کمکشون کنن ، اگه بزرگن که عقلشون میرسه.. مشکلات روحی روانی خودشونو بشناسن برن سراغ درمانش.. افسردگی الان شده جزو الزامات زندگی مردم تقصیر خودشونه وقتی تلگرامو باز میکنی و انبوهی از پیام ها با این مضون که : ( ای وای فلان شماره با پیش شماره فلان زنگ زد اگه بهشون زنگ بزنید هک میشید اینا هکرای ماهرین که میکشنتون و ........ تو همه جا این پیامو پخش کنید تا مردم اگاه بشن!) چی بگم اگه این دوستان بجای اینکه بشینن دو تا مطلب بخونن و یچیزی یاد بگیرن دیگه خودشون میتونن از خودشون دفاع کنن میتونن نادید بگیرن و به زندگیشون برسن میتونن برنامه های گوشی رو جوری کنترل کنن که بچه 10 11 سالشون به هر چیزی دسترسی نداشته باشه. ولی ، من خودمو میگم ،نمیگم مردم که به کسی برنخوره، از سر بیکاری و نااکاهی و بعضا (کمبود) میام از اینجوری پیاما رد و بدل میکنم و میذارم این موضوع همینجوری کش پیدا کنه و اون دوست هکرمون هم به ریش منو شما بخنده....
  20. Mr.Python

    ربات واتس اپ WhatApp با پایتون

    سلام قبل از هر چیز من یه سری توضیحات بدم. تو اینجا ما به صورت مستقیم با پروتکل سازی WhatsApp کار نمیکنیم . یعنی صرفا به وسیله ی یک مرورگر (کروم یا فایرفاکس) وارد اکانت واتس اپمون میشیم و بنا به کاری که باید انجام بدیم کدمونو مینویسیم . تو این سورس کد ما به شخصی که تو مخاطبینمون اسمش Ali سیو هست و از قبل ، چتش رو تو لیست چت هامون داریم ، میخوایم پیامی بفرستیم. پیاممونم اینه : Salam lotfan be anjoman ma morajee konid guardiran.org ما تو این سورس کد از ماژول selenium استفاده میکنیم و از آپشن headless برای عدم نمایش پنجره مرورگر (شما اگه از این اپشن استفاده نکنین هر بار که بخواید از این سورس کد استفاده کنید و اجراش کنید ، پنجره مرورگر نمایش داده میشه ، و این خیلی کار جالبی نیست به شخصه دوست دارم وقتی میخوام کارامو با selenium انجام بدم حدالامکان هیچ مرورگری رو تو ضفحه نمایش نبینم و همه ی عملیات اون پشت مشتا انجام بشه... دوستانی که با ماژول سلنیوم کار کردن میدونن چی میگم ) خب تو اینجا شما فقط باید از مرورگر firefox استفاده کنین . نکات : اولا اینکه شما وقتی از واتس اپ تحت وب استفاده میکنید ، یعنی سایت web.whatsapp,com ، برای لاگین کردن از شما میخواد که با گوشیتون QR code رو اسکن کنید تا بتونید وارد اکانتتون بشید . اما اگه بخوایم هر بار اینکارو انجام بدیم که دیگه اسمش نمیشه ربات ! برای همین ما اول یه پروفایل تو firefox میسازیم به اسم دلخواه که اینجا اسمشو میذارم WhatsAppProfile نحوه ساخت پروفایل به این شکل هست که اول از همه run ویندوز رو باز کنید . دستور زیر رو تایپ کنید و اینتر رو بزنید firefox.exe -p یه پنجره باز میشه گزینه ی Create profile رو بزنید next کنید. تو این مرحله باید یه نام به پروفایل اختصاص بدید که همانطور که گفتم ما اینجا از این WhatsAppProfile استفاده میکنیم. بعد از اینکه اسمو نوشتید choose folder رو بزنید و پروفایل رو کنار اسکریپتتون (سورس کدتون!) سیو کنید خب finish رو بزنید و میبینید که نهایتا تو لیست پروفایل ها اسم WhatsAppProfile اومده . روش کلیک کنین و گزینه ی use selected profile withput asking at startup رو غیر فعال کنید . و در اخر Start Firefox رو بزنید . که مرورگر باز بشه وارد سایت web.whatsapp.com بشید . و با گوشیتون لوگین کنید وقتی لوگین کردید و اکانت واتس اپتون تو مرورگر بالا اومد ، مرورگرو ببندید . اسم پروفایل بنده تو Desktop به این شکل ذخیره شده: z1hj4sh.WhatsAppProfile که اشکالی نداره و میتونید تغییر نام بدینش . مثلا اون قسمت اضافی رو حذف کنید و فقط اسم فایل WhatsAppProfile باشه . خیلی خب حالا میریم سراغ کدمون تو پایتون: from selenium import webdriver from selenium.webdriver.firefox.options import Options from selenium.webdriver.support import expected_conditions as EC from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.common.by import By foptions = Options() foptions.headless = True fp = webdriver.FirefoxProfile('D:/WhatsAppProfile') driver = webdriver.Firefox(options=foptions, firefox_profile=fp, executable_path='D:/geckodriver.exe') driver.get("https://web.whatsapp.com") while True: try: WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, '//span[contains(@title, "Ali")]'))).click() #moj_f = driver.find_element_by_xpath('//span[contains(@title, "Ali")]') # اینو هم میتونید بجای خط بالا بنویسید break except: continue #moj_f.click() اگه اون کدی که پشتش هشتک داره رو نوشتید اینو باید از حالت کامنت درارید یعنی هشتک پشتشو حذف کنید while True: try: WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, '//div[contains(@spellcheck, "true")]'))).click() textbox_f = driver.find_element_by_xpath('//div[contains(@spellcheck, "true")]') break except: continue textbox_f.click() extbox_f.send_keys('Salam lotfan be anjoman ma morajee konid guardiran.org') textbox_f.send_keys('\ue007') # Enter Character print('Ersal Shod')
  21. سلام باید فقط فعالیتتونو زیاد کنید تو انجمن البته محتوای خوبی داشته باشه
  22. خیلی از دوستانی که من میبینم میان برای ساخت ربات اینستاگرام از selenium استفاده میکنن که به نظرم میتونه به عنوان گزینه اخر بهش نگاه کرد با توجه به اینکه هر بار یه مرورگر باید لود بشه و کلی طول میکشه تا هر عملی رو انجام بده تو این اموزشا یاد میگیریم که چطوری با ماژول requests تو پایتون درخواست لوگین رو بفرستیم و بتونیم وارد حساب کاربریمون بشیم . import requests, json, urllib.parse username = "Your Username" password = "Your Password" r = requests.Session() res = r.get('https://www.instagram.com/') payload = {'username':username,'enc_password':'#PWD_INSTAGRAM_BROWSER:0:1254625879:'+password,'queryParams':'{}','optIntoOneTap':'false'} headers_text = '''Host: www.instagram.com User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:80.0) Gecko/20100101 Firefox/80.0 Accept: */* Accept-Language: en-US,en;q=0.5 Accept-Encoding: gzip, deflate, br X-CSRFToken: %s X-Instagram-AJAX: 98349da5360c X-IG-App-ID: 936619743392459 X-IG-WWW-Claim: 0 Content-Type: application/x-www-form-urlencoded X-Requested-With: XMLHttpRequest Content-Length: %s Origin: https://www.instagram.com Referer: https://www.instagram.com/ Cookie: ig_did=%s; csrftoken=%s; mid=%s TE: Trailers'''%(res.cookies['csrftoken'],str(len(urllib.parse.urlencode(payload))),res.cookies['ig_did'],res.cookies['csrftoken'],res.cookies['mid']) payload_headers = {i.split(': ')[0]:i.split(': ')[1] for i in headers_text.split('\n')} resp = r.post("https://www.instagram.com/accounts/login/ajax/", headers=payload_headers,data=payload) if json.loads(resp.text)['authenticated'] == True: print('[+] Login successfully!') print(resp.text) مقادیر هر هدر رو میتونید از توی تب Network داخل inspect element مرورگرتون بدست بیارید . اگه هدر های بالا کار نکرد مقادیر X-Instagram-AJAX و X-IG-App-ID به راحتی از مرورگرتون بدست میاد.. فقط باید جای username و password اطلاعات کاربری خودتونو بنویسید و اسکریپتو اجرا کنید تا وارد حسابتون بشید اون عدد 1254625879 صرفا یه عدد 10 رقمیه که دلخواه هست .
  23. Mr.Python

    تمرین برنامه نویسی با پایتون

    حل : (تمرینات 2 و 3 خیلی اسونن ، به عهده خودتون - اگر مشکلی بود مطرح کنید) table = {'?l':'abc', '?d':'123'} string = '?d ?d?d ?l?d some string hello?ghk?d?d and ?l' gen_str = '' def generate(gen_str, string): mylist = list() if len(string) == 0:return mylist else: if string[0] == '?': if string[0] + string[1] in table: if len(gen_str) != 0 and gen_str.isspace()==False:mylist.append(gen_str.strip());gen_str='' mylist.append(table[string[0] + string[1]]) mylist+=generate(gen_str, string[2:]) else: gen_str+=string[0]; mylist+=generate(gen_str, string[1:]) else:gen_str+=string[0]; mylist+=generate(gen_str, string[1:]) return mylist print(generate(gen_str, string)) این برنامه رو با چند تا الگوریتم دیگه هم میشه نوشت ، اینجا من از الگوریتمی استفاده کردم که نیاز به حلقه های for و while نباشه ، همچنین از کلیدواژه ها ومتد های کمتری استفاده شده... یعنی خبری از yield و string partition نیست
  24. Mr.Python

    تمرین برنامه نویسی با پایتون

    حل : string = input('') def StrToInt(string): sum = 0 n = len(string) - 1 for s in string: sum+=numbers_ords[s] * 10 ** n if n==0:break n -= 1 return sum m = '' numbers = [] numbers_ords = {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9} for i in string: if i in numbers_ords: m+=i else: if m!='': numbers.append(StrToInt(m)) m = '' if m != '': numbers.append(StrToInt(m)) max_number = numbers[0] for i in numbers: if i > max_number: max_number = i print(max_number)