Python BeautifulSoup显示奇怪的文本

Python BeautifulSoup显示奇怪的文本,python,beautifulsoup,unicode,encoding,ascii,Python,Beautifulsoup,Unicode,Encoding,Ascii,我试图从一个孟加拉语(语言)网站上搜集数据。 当我检查那个网站上的元素时,一切都正常 代码: 部分输出: <strong> সà¦à¦°à¦¾à¦à¦° à¦à¦¿à¦à§à¦à¦¾à¦¸à¦¾ </strong> সà¦à¦°à¦¾à¦à¦° à¦à¦¿à¦à§à¦à¦¾à¦¸à¦¾ 阿尔法-阿尔法-阿尔法§-阿尔法-阿尔法>>应该是>>”সচরাচর জিজ্ঞাসা" 我不确定它是否是ASCII。我曾经将该文本转换为Unicode。根据本网站,它

我试图从一个孟加拉语(语言)网站上搜集数据。 当我检查那个网站上的元素时,一切都正常

代码:

部分输出:

<strong>
  সà¦à¦°à¦¾à¦à¦° à¦à¦¿à¦à§à¦à¦¾à¦¸à¦¾
</strong>

সà¦à¦°à¦¾à¦à¦° à¦à¦¿à¦à§à¦à¦¾à¦¸à¦¾

阿尔法-阿尔法-阿尔法§-阿尔法-阿尔法>>应该是>>”সচরাচর জিজ্ঞাসা"


我不确定它是否是ASCII。我曾经将该文本转换为Unicode。根据本网站,它可能是ASCII。但我在线检查了一个ASCII表,其中没有任何字符。因此,现在我需要将这些文本转换为可读的内容。有什么帮助吗?

您应该解码内容,如下所示:

request.content.decode('utf-8')

是的,它的工作。您需要解码('utf-8')请求响应

import requests
from bs4 import BeautifulSoup
request = requests.get("https://corona.gov.bd/")

soup = BeautifulSoup(request.content.decode('utf-8'), "lxml")
my_data = soup.find('div', {'class':'col-md-6 col-sm-6 col-xs-12 slider-button-center xs-mb-15'})
print(my_data.get_text(strip=True, separator='|'))
打印输出:

্বাস্থ্য বিষয়ক সেবা|(ডাক্তার, হাসপাতাল, ঔষধ, টেস্ট)|খাদ্য ও জরুরি সেবা|(খাদ্য, অ্যাম্বুলেন্স, ফায়ার সার্ভিস)|সচরাচর জিজ্ঞাসা|FAQ

requests.get()
返回的请求返回原始字节内容(
request.content
)和由内容中声明的编码解码的内容

request.encoding
是实际编码(可能不是UTF-8),而
request.text
是已解码的内容

使用
request.text
替代的示例:

import requests
from bs4 import BeautifulSoup

request = requests.get("https://corona.gov.bd/")
soup = BeautifulSoup(request.text, "lxml")
print(soup.find('title'))
করোনা ভাইরাস ইনফো ২০১৯ | 2019年冠状病毒病(COVID-19)孟加拉国信息| corona.gov.bd

签出使用
请求。改为使用text
。如果网站正确声明了编码,将为您解码内容。
import requests
from bs4 import BeautifulSoup

request = requests.get("https://corona.gov.bd/")
soup = BeautifulSoup(request.text, "lxml")
print(soup.find('title'))
<title>করোনা ভাইরাস ইনফো ২০১৯ | Coronavirus Disease 2019 (COVID-19) Information Bangladesh | corona.gov.bd</title>