python - 网站在浏览器中打开,但在 Python 中打开时返回 403

标签 python url beautifulsoup http-status-code-403 urlopen

有一个网站可以在浏览器中愉快地打开,但在 Python 中打开时返回 403 HTTP 错误,如下所示:

from bs4 import BeautifulSoup
import urllib2

link = 'http://niezalezna.pl/'

r = urllib2.urlopen(link).read()
soup = BeautifulSoup(r, 'lxml')

print soup.prettify()

该网站是一个流行的新闻服务。使用上面的一段代码打开 URL 时是否可以返回 HTTP 403 错误? 谢谢,

最佳答案

由于上面的评论找到了答案。代码如下,完整答案可以在这里找到:Changing user agent on urllib2.urlopen

from bs4 import BeautifulSoup
import urllib2

link = 'http://niezalezna.pl/'

opener = urllib2.build_opener()
opener.addheaders = [('User-agent', 'Mozilla/5.0')]
response = opener.open(link)

soup = BeautifulSoup(response, 'lxml')

print soup.prettify()

关于python - 网站在浏览器中打开,但在 Python 中打开时返回 403,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36705812/

相关文章:

python - 在 Python 中以字符串格式对日期列表进行排序的最有效方法是什么?

java - HttpURLConnection#getResponseCode() 导致 FileNotFoundException

javascript - 使用javascript替换url中的参数

selenium - 如何解决 urllib3.exceptions.MaxRetryError : HTTPConnectionPool(host ='127.0.0.1' , port=58408): Max retries exceeded with url

javascript - 我能用 BeautifulSoup 在 javascript 后面得到一个 iframe 吗?

python - OpenERP 6,Aptana - 调试器不会在 QR 条形码标签代码中的断点处停止

Python,改变 3D 图的轴

python - 使用 Matplotlib 绘制 Takagi 函数

regex - 编辑 URL,保留域名部分,去除其他部分

html - 为什么通过开发者工具查看的html和通过beautifulsoup获取的html不一样?