我是 python 的新手,我正在尝试遍历 csv
文件中的 url 列表,并使用 BeautifulSoup
获取网站 title
>,然后我想将其保存到文件 Headlines.csv
。但是我无法获取网页 title
。如果我使用具有单个 url 的变量,如下所示:
url = 'https://www.space.com/japan-hayabusa2-asteroid-samples-landing-date.html'
resp = req.get(url)
soup = BeautifulSoup(resp.text, 'lxml')
print(soup.title.text)
它工作得很好,我得到了标题 携带小行星 Ryugu 碎片的日本太空舱将于 12 月 6 日登陆地球 |空格
但是当我使用循环时,
import csv
with open('urls_file2.csv', newline='', encoding='utf-8') as f:
reader = csv.reader(f)
for url in reader:
print(url)
resp = req.get(url)
soup = BeautifulSoup(resp.text, 'lxml')
print(soup.title.text)
我得到以下信息
['\ufeffhttps://www.foxnews.com/us/this-day-in-history-july-16']
错误信息
InvalidSchema:未找到“['\\ufeffhttps://www.foxnews.com/us/this-day-in-history-july-16']”的连接适配器
我不确定我做错了什么。
最佳答案
您从文件中解析的 URL 上有一个字节顺序标记 \\ufeff
。
看起来您的文件是一个签名文件,并且具有类似 utf-8-sig 的编码。
您需要使用 encoding='utf-8-sig'
读取文件
阅读更多 here .
关于Python循环通过csv文件中的url返回\ufeffhttps ://,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62933026/