【发布时间】:2018-06-13 09:07:28
【问题描述】:
我正在尝试使用 python beautifulsoup 和 urllib 打开这个网站,但我不断收到 403 错误。有人可以指导我解决这个错误吗?
我当前的代码是这样的;
from urllib.request import urlopen as uReq
from bs4 import BeautifulSoup as soup
my_url = 'https://www.cubesmart.com/florida-self-storage/st--petersburg-self-storage/3337.html?utm_source=local&utm_medium=organic&utm_campaign=googlemybusiness&utm_term=3337'
uClient = uReq(my_url)
但我收到 403 错误。
我四处搜索并尝试使用以下方法,但它也给了我同样的错误。
from urllib.request import Request, urlopen
url="https://www.cubesmart.com/florida-self-storage/st--petersburg-self-storage/3337.html?utm_source=local&utm_medium=organic&utm_campaign=googlemybusiness&utm_term=3337"
req = Request(url, headers={'User-Agent': 'Mozilla/5.0'})
web_byte = urlopen(req).read()
webpage = web_byte.decode('utf-8')
感谢任何帮助。
【问题讨论】:
-
听起来很奇怪,看来您必须提供一些身份验证,因为 403 意味着服务器拒绝连接:[description][1],但是这些链接不应该需要任何! [1]:en.wikipedia.org/wiki/HTTP_403
-
有什么理由不使用
requests库,OP? -
@Petar - 没有理由。我仍然是 python 的初学者,不熟悉请求库。你能指导我吗?
-
requests模块未安装在 3.8 中,这对我来说是造成与 urllib2、urllib3 和消除歧义的基本指针稀缺的混淆的原因。使用请求模块无法获得太多乐趣,它没有返回会话。它是如何获取会话对象的?
标签: python python-3.x web-scraping urllib http-status-code-403