4

我们在等待姐姐的结果。碰巧的是,印度政府经常这样做。服务器很慢,流量很大。

所以,我想到了写一个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"

但是该程序无法正常运行。我尝试用 替换 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"

但所有这些都是在我的默认网络浏览器中打开一个新窗口,并将 url 设置为给定的内容,然后“打开它”。同时,在 python shell 上打印 Done 和 Check。

未收到来自服务器的响应的 Web 浏览器显示could not connect to www.nbe.gov.in

如何做到这一点?

编辑:刚刚看到 facebook.com 脚本毕竟有效。它花了大约 15 次尝试,然后它发生了。该.html文件已正确写入。使用所有的 CSS,可能还有 JS。

为什么会这样,尝试了这么多,而我可以轻松地从浏览器中打开 facebook.com。

4

1 回答 1

2

试试

这个想法是继续打开页面,直到司机看到正确的标题。如果它在那里,只需打破循环并保持页面打开:

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

希望有帮助。

于 2013-05-16T21:39:59.330 回答