در این ویدیوکست برای سایت دیوار یک اسکریپت آلارم برای آگهی ها مینویسیم و یک پروژه متن باز رو استارت میزنیم که در کنار هم توسعه بدیم
لینک پروژه در گیت هاب:
https://github.com/kiahamedi/DivarAlarm
سورس کد برنامه در نسخه فعلی:
#!/usr/bin/env python3 # -*- coding: utf-8 -*- """ Created on Sun Dec 29 00:47:36 2019 @author: kia """ from bs4 import BeautifulSoup import requests import time from os import system maxEj = 500000 maxVa = 20000000 url = "https://divar.ir/s/urmia/rent-residential" while True: page = requests.get(url) soup = BeautifulSoup(page.content,'html5lib') firstElement = soup.find('a',{"class":"col-xs-12 col-sm-6 col-xl-4 p-tb-large p-lr-gutter post-card"}) vadie = firstElement.find('div',{"class":"body-12 post-card__description"}) itemsArray = vadie.text.split('\n') vadie = int(itemsArray[0].replace("تومان","").replace("ودیعه:","").strip().replace(",","")) ejare = int(itemsArray[1].replace("تومان","").replace("اجاره ماهیانه:","").strip().replace(",","")) titleAD = firstElement.find('div',{"class":"subtitle-16 post-card__title"}).text urlAD = "https://divar.ir"+firstElement['href'] rfile = open("lastItem.txt","r") lastItem = rfile.read() if lastItem == titleAD: print("sleep for 10 second") time.sleep(10) continue else: file = open("lastItem.txt","w+") file.write(titleAD) file.close() print("ALAAAAARM") system("notify-send 'Divar Alarm'") system('cvlc /home/kia/Music/coindrop.wav& sleep 2 && killall vlc') system('firefox '+urlAD) break
خوشحال میشم دوستانی که توانایی وقت بیکاری و علاقه به فعالیت های متن باز دارند در پروژه مشارکت کنند و زمان بیکاری خودمون رو با این پروژه پر کنیم
حامد عزیز، اگر با زبان php بود همین الان برای توسعه و همکاری با تو شروع می کردم. اما متاسفانه پایتون کار نکردم 🙁
لطف دارید از شما مچکر همین هم ارزشمند بود
سلام کیا جان.
من یه تغییراتی دادم . فقط اولین بارم بود با سیستم گیت هاب کار میکردم . نمیدونم درست انجام دادم یا خراب کاری شد؟ 🙂
سلام ممنون ازتون واقعا جای خوشحالیه
متاسفانه واسه من نیومده
باید از پروژه ای که فورک کردید بعد از انجام تغییرات درخواست پول ریکوست برای مرج برنچی که ایجاد کردید (یا برنچ مستر) خوب با برنچ مستر من بدید تا برای من بیاد تغییراتی که انجام دادید
الان انجام دادم . برای شما اومد؟
سلام نه متاسفانه نیومده
از یوتیوب نگاه کنید باید آموزش pull request در گیت هاب باشه
سلام آقا گیا من یه ایمیل براتون فرستادم ک درخواست سفارش دارم ممنون میشم اگ جواب بدید
با سلام
پاسخ دادم
با سلام. من میخوام متن مربوط به توضیحات هر آگهی داشته باشم ولی از هم روشی استفاده میکنم نمیشه. اگه ممکنه راهنمایی بفرمایید.
با سلام و احترام
با پوزش برای دیر جواب دادن
سایت دیوار از کلاس های داینامیک استفاده میکنه که نشه راحت اسکرپش کرد ساده ترین راه استفاده از XPATH هست یا مسیر رسیدن به توضیحات رو به صورتی دستی و بر اساس المان نوع دیو یا پاراگراف پیدا کنید و بهش برسید