具体的なURLから正しいHTMLコードを取得する方法(Python)

html python url urllib
具体的なURLから正しいHTMLコードを取得する方法(Python)

whois.domaintools.comを介してドメインを検証できるコードを記述しようとしています。

しかし、htmlの読み取りには少し問題があり、whois.domaintools.com / notregistereddomain.comのソースコードとは一致しません。 どうしましたか? 要求またはそれとの問題? 私は本当にそれを解決する方法を知りません。

import urllib2

def getPage():
    url="http://whois.domaintools.com/notregistereddomain.com"

    req = urllib2.Request(url)

    try:
        response = urllib2.urlopen(req)
        return response.read()
    except urllib2.HTTPError, error:
        print "error: ", error.read()
        a = error.read()
        f = open("URL.txt", "a")
        f.write(a)
        f.close()


if __name__ == "__main__":
    namesPage = getPage()
    print namesPage

  0  0


ベストアンサー

`print error.read()`の代わりに `print error`を使用すると、サーバーからHTTP 403″ Forbidden “応答が返されることがわかります。

どうやら、このサーバーは、ユーザーエージェントヘッダーのないリクエストを好まないようです(または、スクリプトからクエリされたくないため、Pythonのヘッダーは好まれません)。 回避策は次のとおりです。

user_agent = "Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)" # Or any valid user agent from a real browser
headers = {"User-Agent": user_agent}
req = urllib2.Request(url, headers=headers)
res = urllib2.urlopen(req)
print res.read()

2


タイトルとURLをコピーしました