نقل قول: نرم افزارجمع آوری خبر
سلام
بله که امکان پذیره
اصولا باید یه لیستی از سایت های خبری و کانال های تلگرامی داشته باشید بعد:
برای خوندن و کار کردن با وب سایت که میتونید از کتابخونه BeautifulSoup استفاده کنید و اچ تی ام التون رو پارس کنید و مطالب رو بکشید بیرون
برای تلگرام هم می تونید از کتابخونه Telethon (همین امروز باهاش آشنا شدم:|) استفاده کنید
نقل قول: نرم افزارجمع آوری خبر
من این کد را که در واقع یک وب کراولر را در اینترنت پیدا کردم اما برای اجرا باید اسم برنامه ای که ذخیره کردم به همراه اسم یک سایت برای شروع بدهم امانمی دانم کجاباید این آدرس راوارد کنم یا به عبارتی خروجی این برنامه راچه طور میتوانم ببینم ؟
import sys, thread, Queue, re, urllib, urlparse, time, os, sys
dupcheck = set()
q = Queue.Queue(100)
q.put(sys.argv[1])
def queueURLs(html, origLink):
for url in re.findall('''<a[^>]+href=["'](.[^"']+)["']''', html, re.I):
link = url.split("#", 1)[0] if url.startswith("http") else '{uri.scheme}://{uri.netloc}'.format(uri=urlparse.urlparse(origLink)) + url.split("#", 1)[0]
if link in dupcheck:
continue
dupcheck.add(link)
if len(dupcheck) > 99999:
dupcheck.clear()
q.put(link)
def getHTML(link):
try:
html = urllib.urlopen(link).read()
open(str(time.time()) + ".html", "w").write("" % link + "\n" + html)
queueURLs(html, link)
except (KeyboardInterrupt, SystemExit):
raise
except Exception:
pass
while True:
thread.start_new_thread( getHTML, (q.get(),))
time.sleep(0.5)
نقل قول: نرم افزارجمع آوری خبر
کدتون که کلا هیچی معلوم نیست
ولی تو اون وسط مسطا یه
sys.argv[1]
هست
این یعنی میتونید به صورت آرگومان لینکتون رو ارسال کنید
مثلا:
python yourFile.py YOURLINK
نقل قول: نرم افزارجمع آوری خبر
باتشکر ازپاسخ های شما
من تا کنون توانسته ام خبرهای یک سایت براساس کلمه کلیدی ام جستجو کنم ولی می خواهم این خبرها در داخل یک فایل ریخته شود اما اخباری که ریخته کارکترهای بی معنی هستند کد در قسمت زیر آورده شده است
آیا امکان راهنمائی است[LTR_INLINE][LTR] ""=allMatchedStr
:for matchedContent in matchedContents
"allMatchedStr+=str(matchedContents)+"\n########## #\n
thefile = open(r'c:\\1.txt','w')
thefile.write(allMatched.encode('utf8'))
()thefile.close