首页 > 解决方案 > HTTPError 999:“没有黑客攻击”

问题描述

我有这个问题:我正在尝试在 Python 中创建一个脚本来下载一个网站并查找一些信息。

这是代码:

import urllib.request

url_archive_of_nethys = "http://www.aonprd.com/Default.aspx"


def getMainPage():
    fp = urllib.request.urlopen(url_archive_of_nethys)
    mybytes = fp.read()
    mystr = mybytes.decode("utf8")
    fp.close()
    print(mystr)



def main():
    getMainPage()


if __name__ == "__main__":
    main()

但是当我开始它时,我得到:

 <HTTPError 999: 'No Hacking'>

我也尝试使用 curl 命令:

curl http://www.aonprd.com/Default.aspx

我正确下载了页面

我正在使用 Visual Studio 和 python 3.6 进行开发

任何建议将不胜感激谢谢

标签: pythonurlurllib

解决方案


他们可能会检测到您的用户代理并过滤您。尝试改变它:

req = urllib.request.Request(
        url, 
        data=None, 
        headers={'User-Agent': ("Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) "
                                "AppleWebKit/537.36 (KHTML, like Gecko) " 
                                "Chrome/35.0.1916.47 Safari/537.36")})
fp = urllib.request.urlopen(req)

推荐阅读