为什么我不能在python中读取url?

2024-06-08 22:07:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我想在python中读取url,但我通过不同的方式得到错误:

import urllib
link = "http://data.europa.eu/esco/isco/C0110"
f = urllib.urlopen(link)
myfile = f.read()
print(myfile)

HTTPError: HTTP Error 406: Not Acceptable

link = "http://data.europa.eu/esco/isco/C0110"
f = requests.get(link)
print(f)

<Response [406]>

有什么想法吗


Tags: importhttpurldata错误方式linkurllib
2条回答

在这种特殊情况下,您可以通过提供以下适当的头来克服HTTP 406:-

headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36',
    'Accept-Encoding': '*',
    'Accept': 'text/html',
    'Accept-Language': '*'}

链接已断开/无效。根据该网站,以下链接http://data.europa.eu/esco/isco/C0110不是URL,而是URI

似乎他们已经为数据设置了API

你也可以

  1. 检查API并对其进行配置
    https://ec.europa.eu/esco/portal/api

  1. 使用类似BeautifulSoup4的模块,在网页上抓取你想要的内容

相关问题 更多 >