2016-07-28 57 views
1

HTTP错误403:通过使用以下两个命令中的一个来生成禁止。python 3:使用请求时收到403:禁止错误

requests.get('http://www.allareacodes.com')

urllib.request.urlopen('http://www.allareacodes.com')

但是,我能够浏览这个网站在Chrome和检查其来源。此外,我的cygwin中的wget也能抓取html源码。

任何人都知道如何通过在python中使用包来获取本网站的源代码?

回答

1

您的代码中存在错误请求。它应该是:

import requests 
r = requests.get('http://www.allareacodes.com') 
print(r.text) 

在你的情况然而,网站上有一个“NOINDEX”文件,该文件从获取原始的HTML数据停止脚本。作为解决方案,只需伪造你的标题,以便网站认为你是一个真正的用户。

例子:

import requests 
r = requests.get('http://www.allareacodes.com', headers={ 
    "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.106 Safari/537.36" 
}) 
print(r.text) 
+0

非常感谢!我将检查文档的标题选项。 – user6651227