Python循环通过csv文件中的url返回\ufeffhttps ://

标签 python loops csv url beautifulsoup

我是 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/

相关文章:

Python Xlsxwriter 无法正常工作

JavaScript:功能映射?

java - 无法获取用户输入的正确最大值和最小值

algorithm - "Flip"仅使用 +1/-1 而不使用 if/else 的简单循环的输出

ios - 在 xcode 中使用 GZIP 压缩 CSV 文件

python - 使用 ctypes 将 OpenCV 图像作为函数参数传递

python - 从带有条件参数的列表列表中减去列表列表

python - 如何快速使用格式打印列表?

python - 使用 csv.DictReader 创建嵌套字典

php - 将csv文件导入homestead laravel中的mysql表字段