请求:找不到连接适配器,Python3 中出现错误[重复]

2023-12-07

import requests
import xml.etree.ElementTree as ET
import re

gen_news_list=[]
r_milligenel = requests.get('http://www.milliyet.com.tr/D/rss/rss/Rss_4.xml')
root_milligenel = ET.fromstring(r_milligenel.text)

for entry in root_milligenel:
    for channel in entry:
        for item in channel:
            title = re.search(".*title.*",item.tag)
            if title:
                gen_news_list.append(item.text)
            link = re.search(".*link.*",item.tag)
            if link:
                gen_news_list.append(item.text)
                r = requests.get(item.text)
                print(r.text)

我有一个名为 gen_news_list 的列表,我正在尝试将标题、摘要、链接等附加到该列表。但是当我尝试请求链接时出现错误:

  Traceback (most recent call last):
  File "/home/deniz/Masaüstü/Çalışmalar/Python/Bot/xmlcek.py", line 23, in <module>
    r = requests.get(item.text)
  File "/usr/lib/python3/dist-packages/requests/api.py", line 55, in get
    return request('get', url, **kwargs)
  File "/usr/lib/python3/dist-packages/requests/api.py", line 44, in request
    return session.request(method=method, url=url, **kwargs)
  File "/usr/lib/python3/dist-packages/requests/sessions.py", line 456, in request
    resp = self.send(prep, **send_kwargs)
  File "/usr/lib/python3/dist-packages/requests/sessions.py", line 553, in send
    adapter = self.get_adapter(url=request.url)
  File "/usr/lib/python3/dist-packages/requests/sessions.py", line 608, in get_adapter
    raise InvalidSchema("No connection adapters were found for '%s'" % url)
requests.exceptions.InvalidSchema: No connection adapters were found for '
http://www.milliyet.com.tr/tbmm-baskani-cicek-programlarini/siyaset/detay/2037301/default.htm

第一个链接成功。但第二个就出错了。我无法将内容添加到列表中导致此错误的原因。是我的循环有问题吗?代码有什么问题吗?


如果添加行print(repr(item.text))在有问题的行之前r = requests.get(item.text)你看到第二次开始item.text has \n开头和结尾,这是 URL 不允许的。

'\nhttp://www.milliyet.com.tr/tbmm-baskani-cicek-programlarini/siyaset/detay/2037301/default.htm\n'

I use repr因为它字面上将换行符显示为字符串\n在其输出中。

解决您的问题的方法是致电strip on item.text删除这些换行符:

r = requests.get(item.text.strip())
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

请求:找不到连接适配器,Python3 中出现错误[重复] 的相关文章

随机推荐