UnicodeEncodeError:“ ascii”编解码器无法对位置15-17处的字符进行编码:

我在运行以下代码时遇到了困难。


import urllib.request, urllib.parse, urllib.error

from bs4 import BeautifulSoup

import ssl

import re

import csv


file = open("Test.CSV", "r")

reader = csv.reader(file)

for line in reader:

    text = line[5]

    lst = re.findall('(http.?://[^\s]+)', text)


    if not lst: print('Empty List')

    else:

        try:

            for url in lst:

                html = urllib.request.urlopen(url, context=ctx).read()

                soup = BeautifulSoup(html, 'html.parser')

                title = soup.title.string

                str_title = str (title)

                if 'Twitter' in str_title:

                    if len(lst) > 1: break

                    else: continue

                else:

                    print (str_title, ',', url)

        except urllib.error.HTTPError as err:

            if err.code == 404:

                print ('Invalid Twitter Link')

上面提到的代码读取一个csv文件,选择一个列,然后使用regex进行解析以在一行中获取所有超链接,然后使用BeautifulSoup通过Hyperlink进行解析以获取页面的“标题字符串”。


现在,每当我运行此代码时,它将停止为特定的行工作,并引发错误“ UnicodeEncodeError:'ascii'编解码器无法在位置15-17处编码字符:序数不在range(128)中”


我如何在这里使用Unicode字符串?任何帮助将非常感激。


慕森卡
浏览 211回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python