InvalidSchema 无连接适配器 Python 请求

InvalidSchema No connection adapters Python Requests

def get_html(url):
    user_agent = {'User-Agent':''}
    r = requests.get(url, headers=user_agent)
    return r.text


def get_page_data(html):
    soup = BeautifulSoup(html, 'lxml')
    pass
    

def main():
    with open('p.csv', newline='', encoding='utf-8') as File:  
        reader = csv.reader(File)
        for url_row in reader:
            print(url_row)
            url = url_row
            get_page_data(get_html(url))

错误:

InvalidSchema
No connection adapters were found for "['https://www.website.com/page1/page2/']"

尝试过的:

删除了行尾的字符。

将类型列表缩减为 str.

其实我明白错误是什么,requests无法连接到站点,请求的类型必须是str,有一定的样子,但还是自己搞不懂。 怎么连接到网站请帮忙?

for url_row in reader 循环中 url_row 是一个字符串列表。这意味着 url 又是一个列表,这就是您传递给 requests.get.

的内容

如果您知道您正在阅读的行总是只有一个单元格,或者第一个单元格总是带有 URL 的单元格,那么您可以将 url = url_row 替换为url = url_row[0]。如果有空行的可能性,那么是否值得添加像

这样的支票
if len(url_row) == 0:
    continue

在访问它之前。

或者,如果文件只是 URL 的列表而不是 CSV 文件,那么您可以直接读取它们:

with open('p.csv', newline='', encoding='utf-8') as File:  
    for line in File:
        url = line.strip()
        get_page_data(get_html(url))