tMJ*_*tMJ 6 python urllib python-2.7 python-webbrowser
我们正在等待姐姐的结果。印度政府也经常遇到这种情况。服务器很慢,流量很大。
于是,我想到写一个python程序,不断尝试,直到服务器响应Http请求。但该程序:
import urllib
i=1
f = open("C:/Users/DELL/Desktop/neetpg.html",'w')
while(True):
try:
page = urllib.urlopen("http://www.nbe.gov.in/asr/neet_pdf/")
print "Done"
break
except:
print i
i += 1
continue
f.write(page.read())
print "check"
Run Code Online (Sandbox Code Playgroud)
但该程序无法正常运行。我尝试将 url 替换为facebook.com,它仍然打印出数字。
此外,我想要实现的是,如果服务器确实响应,则网页会加载 js 和 css 文件以及 html 文件,并且所有这些都应该在浏览器中打开。
我还从http://docs.python.org/2/library/webbrowser.html中得到了提示 ,并将程序更改为:
import webbrowser
i=1
while(True):
try:
webbrowser.open("http://www.nbe.gov.in/asr/neet_pdf/")
print "Done"
break
except:
print i
i += 1
continue
print "check"
Run Code Online (Sandbox Code Playgroud)
但所有这一切都是在我的默认网络浏览器中打开一个新窗口,并将网址设置为给定的内容,然后“打开它”。同时,在 python shell 上打印 Done 和 Check。
Web 浏览器未收到服务器的响应,将显示could not connect to www.nbe.gov.in。
如何实现这一目标?
编辑:刚刚看到 facebook.com 脚本毕竟有效。大约尝试了 15 次,然后事情就发生了。文件.html写入正确。包含所有 CSS,可能还有 JS。
为什么会这样,尝试了这么多次,而我却可以轻松地从浏览器中打开facebook.com。
尝试一下硒。
这个想法是不断打开页面,直到驾驶员看到正确的标题。如果存在,只需中断循环并保持页面打开:
from selenium import webdriver
driver = webdriver.Firefox()
while True:
driver.get("http://www.nbe.gov.in/asr/neet_pdf/")
if 'NEET-PG' in driver.title:
break
Run Code Online (Sandbox Code Playgroud)
希望有帮助。
| 归档时间: |
|
| 查看次数: |
2382 次 |
| 最近记录: |