Latest posts on проверка загрузки html-странички через Python topichttps://python.su/forum/topic/76/2006-08-03T06:47:08+03:00Веб-технологии :: Web :: проверка загрузки html-странички через Python
2006-08-03T06:47:08+03:00pythonwin325<blockquote><em>slav0nic</em><br/>приглашай людей на форум ;)</blockquote>Хорошо! :)
Веб-технологии :: Web :: проверка загрузки html-странички через Python
2006-08-02T19:30:44+03:00slav0nic323приглашай людей на форум ;)
Веб-технологии :: Web :: проверка загрузки html-странички через Python
2006-08-02T15:04:23+03:00pythonwin320сделал:<br/><br/># -*- coding: utf-8 -*-<br/>import time,httplib,smtplib<br/>from email.MIMEText import MIMEText<br/>def sendmail():<br/> msg = MIMEText('Ошибка на главной странице\n\<br/> перейти на <a href="http://myweb.ru:8000">http://myweb.ru:8000</a>', _subtype='text/html', _charset=“utf-8”)<br/> msg = ‘Ошибка на главной странице’<br/> you='support@myweb.ru'<br/> me='support@myweb.ru'<br/> msg = me<br/> msg = you<br/> server = smtplib.SMTP('192.168.0.1')<br/> server.set_debuglevel(1)<br/> server.sendmail(me, you, msg.as_string())<br/> server.quit()<br/> print “Error”<br/>def run():<br/> while True:<br/> try:<br/> conn = httplib.HTTPConnection(“200.200.200.200”, port=“9999”)<br/> conn.request(“GET”, “/index”)<br/> r1 = conn.getresponse()<br/> print r1.status<br/> if r1.status!=200 and r1.status!=403:<br/> sendmail()<br/> elif r1.status==200 or r1.status==403:<br/> print “Ok”<br/> else:<br/> print “Gluk”<br/> except:<br/> sendmail()<br/> time.sleep(60*30)<br/> <br/>print “-”*100<br/>run()<br/>print “-”*100<br/><br/>slav0nic, большое спасибо! Если бы в этом форуме можно было поставить плюс… Скажи как отблагодарить?
Веб-технологии :: Web :: проверка загрузки html-странички через Python
2006-08-02T13:39:08+03:00pythonwin318Эту проблему решил<br/><br/># -*- coding: utf-8 -*-<br/>import time,httplib,smtplib<br/>from email.MIMEText import MIMEText<br/>def sendmail():<br/> msg = MIMEText(unicode('Ошибка на главной странице\n\<br/> перейти на <a href="http://myweb.ru:8000">http://myweb.ru:8000</a>', ‘utf-8’))<br/> msg = ‘Error’<br/> you='support@myweb.ru'<br/> me='pc@myweb.ru'<br/> msg = me<br/> msg = you<br/> server = smtplib.SMTP('192.168.0.1')<br/> server.set_debuglevel(1)<br/> server.sendmail(me, you, msg.as_string())<br/> server.quit()<br/> print “Error”<br/>def run():<br/> while True:<br/> try:<br/> conn = httplib.HTTPConnection(“200.200.200.200”, port=“9999”)<br/> conn.request(“GET”, “/index”)<br/> r1 = conn.getresponse()<br/> print r1.status<br/> if r1.status!=200 and r1.status!=403:<br/> sendmail()<br/> elif r1.status==200 or r1.status==403:<br/> print “Ok”<br/> else:<br/> print “Gluk”<br/> except:<br/> sendmail()<br/> time.sleep(10)<br/> <br/>print “-”*100<br/>run()<br/><br/><br/>но получаю ошибку:<br/><br/><span style="color:red"><br/>Traceback (most recent call last):<br/> File “C:\test2\url_smtp_alien.py”, line 38, in ?<br/> run()<br/> File “C:\test2\url_smtp_alien.py”, line 31, in run<br/> sendmail()<br/> File “C:\test2\url_smtp_alien.py”, line 14, in sendmail<br/> server.sendmail(me, you, msg.as_string())<br/> File “C:\Python24\lib\email\Message.py”, line 129, in as_string<br/> g.flatten(self, unixfrom=unixfrom)<br/> File “C:\Python24\lib\email\Generator.py”, line 82, in flatten<br/> self._write(msg)<br/> File “C:\Python24\lib\email\Generator.py”, line 113, in _write<br/> self._dispatch(msg)<br/> File “C:\Python24\lib\email\Generator.py”, line 139, in _dispatch<br/> meth(msg)<br/> File “C:\Python24\lib\email\Generator.py”, line 185, in _handle_text<br/> self._fp.write(payload)<br/>UnicodeEncodeError: ‘ascii’ codec can't encode characters in position 0-5: ordinal not in range(128)<br/></span><br/><br/>Как обойти ошибку?
Веб-технологии :: Web :: проверка загрузки html-странички через Python
2006-08-02T12:31:23+03:00pythonwin316немного изменил код, ошибка не изчезла<br/><br/>import time,httplib,smtplib<br/>from email.MIMEText import MIMEText<br/>def sendmail():<br/> msg = MIMEText(unicode(Error', ‘utf-8’))<br/> msg = Error - page'<br/> you='support@myweb.ru'<br/> me='pc@myweb.ru'<br/> msg = me<br/> msg = you<br/> server = smtplib.SMTP('192.168.0.1')<br/> server.set_debuglevel(1)<br/> server.sendmail(me, you, msg.as_string())<br/> server.quit()<br/> print “Error”<br/>def run():<br/> while True:<br/> try:<br/> conn = httplib.HTTPConnection("<a href="http://www.myweb.ru">http://www.myweb.ru</a>“, port=”8000“)<br/> conn.request(”GET“, ”/index“)<br/> r1 = conn.getresponse()<br/> if r1.status!=200:<br/> sendmail()<br/> elif r1.status==200:<br/> print ”Ok“<br/> else:<br/> print ”Gluk“<br/> except:<br/> sendmail()<br/> time.sleep(10)<br/> <br/>print ”-"*100<br/>run()<br/>
Веб-технологии :: Web :: проверка загрузки html-странички через Python
2006-08-02T12:08:09+03:00pythonwin315проблема в том, когда ставишь "<a href="http://myweb.ru:8000">http://myweb.ru:8000</a>" програ думает что страница с ошибкой:<br/><br/>from email.MIMEText import MIMEText<br/>def sendmail():<br/> msg = MIMEText(unicode(“Error”, ‘utf-8’))<br/> msg = ‘Error - page’<br/> you='support@meweb.ru'<br/> me='pc@myweb.ru'<br/> msg = me<br/> msg = you<br/> server = smtplib.SMTP('192.168.0.1')<br/> server.set_debuglevel(1)<br/> server.sendmail(me, you, msg.as_string())<br/> server.quit()<br/> print “Error”<br/>def run():<br/> while True:<br/> try:<br/> conn = httplib.HTTPConnection("<a href="http://myweb.ru:8000">http://myweb.ru:8000</a>“)<br/> conn.request(”GET“, ”/index“)<br/> r1 = conn.getresponse()<br/> print r1.status<br/> if r1.status!=200:<br/> sendmail()<br/> elif r1.status==200:<br/> print ”Ok“<br/> else:<br/> print ”Gluk“<br/> except:<br/> sendmail()<br/> time.sleep(60*30)<br/> <br/>print ”-"*100<br/>run()<br/><br/><br/>страницка <a href="http://myweb.ru:8000/index">http://myweb.ru:8000/index</a> существует.
Веб-технологии :: Web :: проверка загрузки html-странички через Python
2006-08-02T09:55:12+03:00slav0nic313ну сам подумай=), если по-простому - то:<br/><br/>if “* Connection Failed ” in url.read():<br/> #send mail<br/><br/>а если сквид возвращает в случае подобной ошибки не 200, то можно и это проанализирловать (но рвдяли он так делает)
Веб-технологии :: Web :: проверка загрузки html-странички через Python
2006-08-02T08:23:54+03:00pythonwin311slav0nic, спасибо! <br/><br/>А как определить когда странички нет, но появ-ся такое:<br/><br/><span style="color:red">ERROR<br/>The requested URL could not be retrieved<br/><br/>While trying to retrieve the URL: <a href="http://lalala.ru:9999/">http://lalala.ru:9999/</a><br/><br/>The following error was encountered:<br/><br/> * Connection Failed <br/><br/>The system returned:<br/><br/> (60) Operation timed out<br/><br/>The remote host or network may be down. Please try the request again.<br/><br/>Your cache administrator is <a href="mailto:admin@myweb.ru">admin@myweb.ru</a>.<br/>Generated Wed, число by лалала.ру (squid/2.5.STABLE11)</span>
Веб-технологии :: Web :: проверка загрузки html-странички через Python
2006-08-01T16:00:55+03:00slav0nic300<br/>import urllib<br/>import smtplib<br/>fromaddr = “<a href="mailto:lala@smtp.ru">lala@smtp.ru</a>”<br/>toaddr = “<a href="mailto:lala2@smtp.ru">lala2@smtp.ru</a>”<br/>msg = “serv down! ahtung!”<br/>try:<br/> url = urllib.urlopen("<a href="http://ya.ru">http://ya.ru</a>")<br/>except:<br/> smtp = smtplib.SMTP('smtp.ru')<br/> server.sendmail(fromaddr, toaddrs, msg)<br/> server.quit()<br/><br/><br/>короче в таком духе, тоько екшепшин обрабатывать надо бы
Веб-технологии :: Web :: проверка загрузки html-странички через Python
2006-08-01T14:22:35+03:00pythonwin297<blockquote><em>slivlen</em><br/>Можно для этого использовать модуль urllib и cron(ну или любой другой планировщик)</blockquote>Спасибо! А можно простенький пример кода?
Веб-технологии :: Web :: проверка загрузки html-странички через Python
2006-08-01T12:28:45+03:00slivlen295Можно для этого использовать модуль urllib и cron(ну или любой другой планировщик)
Веб-технологии :: Web :: проверка загрузки html-странички через Python
2006-08-01T12:09:44+03:00pythonwin293Всем привет!<br/><br/>Можете помочь?<br/><br/>Возможно ли следующее?<br/><br/>есть страничка в интернете, которую нужно проверять периодически (загружается/не загружается, итак каждые полчаса). Если страничка не загружается, то нужно отправить сообщение на E-mail. Это реально сделать на питоне?