【发布时间】:2021-02-18 17:05:10
【问题描述】:
更新
我正在尝试为 url 列表定义一个函数,如果从原始列表 (job_title_links) 中找不到某个链接或服务器,则该函数旨在打印:
这是我目前得到的:
from urllib.error import URLError
from urllib.error import HTTPError
from urllib.request import urlopen
job_title_links =['https://www.salario.com.br/profissao/abacaxicultor-cbo-612510/',
'https://www.salario.com.br/profissao/abade-cbo-263105/',
'https://www.salario.com.br/profissao/abanador-na-agricultura-cbo-622020/']
def try_url_exist(links):
for link in job_title_links:
try:
html=urlopen(link)
except HTTPError as e:
print(e) # not found url
except URLError as e:
print(e) # server not found
try_url_exist(job_title_links)
但是,即使在 网址存在。
控制台输出:
HTTP Error 403: Forbidden
HTTP Error 403: Forbidden
HTTP Error 403: Forbidden
如果 url 存在并且应该返回,则预期的函数输出不应执行任何操作
HTTPError 或 URLError 以及当 url 不存在时的 url 名称。
我怎样才能完成这项任务?
【问题讨论】:
-
请发布完整的堆栈跟踪,我们看不到这个错误发生在哪里。
-
您似乎无权查看这些页面
标签: python function web-scraping