为了账号安全,请及时绑定邮箱和手机立即绑定

尝试从 Postgres 表提供 url 时,使用请求库的脚本会抛出“未找到连接适配器”错误

尝试从 Postgres 表提供 url 时,使用请求库的脚本会抛出“未找到连接适配器”错误

www说 2021-11-02 16:24:20
我正在尝试Postgres使用脚本中的requests库测试存储在数据库中的 URL 的有效性Python 3.x,但出现以下错误:$ python3 test_urlvalid.pyTraceback (most recent call last):  File "test_urlvalid.py", line 55, in <module>    response = requests.get(row)  File "...python3.7/site-packages/requests/api.py", line 75, in get    return request('get', url, params=params, **kwargs)  File "...python3.7/site-packages/requests/api.py", line 60, in request    return session.request(method=method, url=url, **kwargs)  File "...python3.7/site-packages/requests/sessions.py", line 533, in request    resp = self.send(prep, **send_kwargs)  File "...python3.7/site-packages/requests/sessions.py", line 640, in send    adapter = self.get_adapter(url=request.url)  File "...python3.7/site-packages/requests/sessions.py", line 731, in get_adapter    raise InvalidSchema("No connection adapters were found for '%s'" % url)requests.exceptions.InvalidSchema: No connection adapters were found for '('http://sampleurl.com',)'这是我的脚本的一个片段:dbconn = create_engine('postgresql+psycopg2://' + user + ':' + password + '@' + host + ':' + str(port) + '/' + database , echo=False)dbconnraw = dbconn.raw_connection()cur = dbconnraw.cursor()cur.execute('SELECT email_domain_url FROM testurlsource')rows = cur.fetchall()for row in rows:    response = requests.get(row)    urlstat = response.status_code    if urlstat<400:        print('valid')    else:        print('invalid')错误代码所指的行是:response = requests.get(row)由于错误代码的最后一行%s在 url 中引用,'('http://sampleurl.com',)'因此它可能与将每个表条目转换为字符串有关。也许我需要更改一些内容,以便在"(),'"将行输入脚本时删除字符。我尝试使用regex后者,但出现错误:AttributeError: 'list' object has no attribute 'encode'有什么建议吗?
查看完整描述

1 回答

?
宝慕林4294392

TA贡献2021条经验 获得超8个赞

如果您print(type(row))在 for 循环中使用,您可能会发现该变量row可能是 a tuple(或 a list),其中包含一个元素。错误消息似乎暗示了同样的问题。

因此,您可以尝试将该元素传递给requests调用(而不是传递整个tuple),更改此行:

response = requests.get(row)

对此:

response = requests.get(row[0])


查看完整回答
反对 回复 2021-11-02
  • 1 回答
  • 0 关注
  • 194 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号