使用 UTF-8 编码抓取请求时不显示日文字符
Japanese character are not showing while scraping through requests with UTF-8 encoding
我正在尝试使用请求和漂亮的汤库从网站上抓取标题名称。我不明白为什么日文字符显示不正确。
下面给出了我的代码,其中我正在抓取日本洪流的标题名称。
from bs4 import BeautifulSoup as bs
import requests
def main():
current_headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, "
"like Gecko) Chrome/92.0.4515.159 Safari/537.36",
'Accept-Language': 'en-GB,jp,en;q=0.5',
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,'
'image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
'Accept-Encoding': 'gzip, deflate, br'}
request = requests.session()
request.headers.update(current_headers)
request = request.get("https://nyaa.si/user/Mashin")
if request.status_code == 200:
print("Successful in getting site")
print(request.encoding)
soup = bs(request.content, features="html.parser")
for table_row in soup.find_all('tr')[1:]:
tds = table_row.find_all('td')
print(tds[1].find("a", class_='')['title'])
break
if __name__ == '__main__':
main()
现在我得到的输出是这样的:
而种子名称应该是这样的
[마신] [2021.08.25] TVアニメ「ひぐらしのなく頃に 卒」EDテーマ「Missing Promise」/鈴木このみ [MP3
320K]
请帮助我理解问题以及我做错了什么。
谢谢
问题似乎出在 Windows CMD 及其编码问题上。我 运行 pycharm 终端中的命令,它显示了正确的日文字符。
此外,当我将这些数据用于 CSV 并使用 Microsoft Excel 查看文件时,日语字符也在那里不可见。我也在使用 pycharm 查看 csv 文件
我正在尝试使用请求和漂亮的汤库从网站上抓取标题名称。我不明白为什么日文字符显示不正确。 下面给出了我的代码,其中我正在抓取日本洪流的标题名称。
from bs4 import BeautifulSoup as bs
import requests
def main():
current_headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, "
"like Gecko) Chrome/92.0.4515.159 Safari/537.36",
'Accept-Language': 'en-GB,jp,en;q=0.5',
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,'
'image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
'Accept-Encoding': 'gzip, deflate, br'}
request = requests.session()
request.headers.update(current_headers)
request = request.get("https://nyaa.si/user/Mashin")
if request.status_code == 200:
print("Successful in getting site")
print(request.encoding)
soup = bs(request.content, features="html.parser")
for table_row in soup.find_all('tr')[1:]:
tds = table_row.find_all('td')
print(tds[1].find("a", class_='')['title'])
break
if __name__ == '__main__':
main()
现在我得到的输出是这样的:
[마신] [2021.08.25] TVアニメ「ひぐらしのなく頃に 卒」EDテーマ「Missing Promise」/鈴木このみ [MP3 320K]
请帮助我理解问题以及我做错了什么。 谢谢
问题似乎出在 Windows CMD 及其编码问题上。我 运行 pycharm 终端中的命令,它显示了正确的日文字符。 此外,当我将这些数据用于 CSV 并使用 Microsoft Excel 查看文件时,日语字符也在那里不可见。我也在使用 pycharm 查看 csv 文件