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))
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))