如何解决爬取GitHub issues body时出现非法字符的问题?
How to solve the problem of illegal characters when crawling GitHub issues' body?
我使用 GitHubAPI 来抓取 GitHub 问题。但是由于不同国家的语言或其他特殊字符,我的代码总是因为非法字符而停止工作。我尝试了两种解决方案,但这两种仍然会报错。这是我的代码:
repo_dicts = response_dict['items']
Body = repo_dict['body']
解决方案 1:
Body = ILLEGAL_CHARACTERS_RE.sub(r'', Body)
它将报告:TypeError: expected string or bytes-like object
解决方案 2:
Body = str(repo_dict['body']).encode('utf-8')
它将报告:引发 IllegalCharacterError
openpyxl.utils.exceptions.IllegalCharacterError
爬到这个issue就报错,不知道非法字符在哪里?
https://github.com/angular/angular.js/issues/3651
和
https://github.com/jekyll/jekyll/issues/1376
下面的问题可以找到一个非法字符。
我使用下面的代码忽略了这个错误,它起作用了:
Body = repo_dict['body']
try:
Body = ILLEGAL_CHARACTERS_RE.sub(r'', Body)
except:
print("ILLEGAL_CHARACTERS..")
Body = "ILLEGAL_CHARACTERS"
我使用 GitHubAPI 来抓取 GitHub 问题。但是由于不同国家的语言或其他特殊字符,我的代码总是因为非法字符而停止工作。我尝试了两种解决方案,但这两种仍然会报错。这是我的代码:
repo_dicts = response_dict['items']
Body = repo_dict['body']
解决方案 1:
Body = ILLEGAL_CHARACTERS_RE.sub(r'', Body)
它将报告:TypeError: expected string or bytes-like object
解决方案 2:
Body = str(repo_dict['body']).encode('utf-8')
它将报告:引发 IllegalCharacterError openpyxl.utils.exceptions.IllegalCharacterError
爬到这个issue就报错,不知道非法字符在哪里? https://github.com/angular/angular.js/issues/3651 和 https://github.com/jekyll/jekyll/issues/1376 下面的问题可以找到一个非法字符。
我使用下面的代码忽略了这个错误,它起作用了:
Body = repo_dict['body']
try:
Body = ILLEGAL_CHARACTERS_RE.sub(r'', Body)
except:
print("ILLEGAL_CHARACTERS..")
Body = "ILLEGAL_CHARACTERS"