我正在尝试Postgres使用脚本中的requests库测试存储在数据库中的 URL 的有效性Python 3.x,但出现以下错误:
$ python3 test_urlvalid.py
Traceback (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'
有什么建议吗?
宝慕林4294392
相关分类