我在运行以下代码时遇到了困难。
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字符串?任何帮助将非常感激。
相关分类