BeautifulSoup 返回乱七八糟的阿拉伯语字符
BeautifulSoup returning messed-up arabic characters
我正在使用 BeautiifulSoup
抓取一个阿拉伯语网站,但返回的阿拉伯语字符是倒置的和单独的字符(将其粘贴到此处正确编码,因此您必须相信我:)。
网站字符集正在使用 UTF-8
<meta charset=UTF-8>
我是这样解析的:
url = 'https://new.kooora4live.net/matches-today-1/'
page = requests.get(url)
soup = BeautifulSoup(page.content, 'lxml', from_encoding='utf-8')
将请求的 HTML 写入具有 utf-8
编码的文件会在文件中正确格式化它,因此它似乎是 BeautifulSoup
.
的问题
知道我做错了什么或如何解决吗?
.....
更新:
使用 utf-8-sig
编码也不起作用。
您需要设置页面编码以匹配其外观编码。
试试这个:
import requests
from bs4 import BeautifulSoup
page = requests.get('https://new.kooora4live.net/matches-today-1/')
page.encoding = page.apparent_encoding
soup = BeautifulSoup(page.content, 'lxml').select("a")
print("\n".join(a.getText(strip=True) for a in soup))
这将打印出:
الأخبار
أهم المباريات
جداول
ترتيب الفرق
ترتيب الهدافين
مباريات الأمس
مباريات اليوم
مباريات الغد
جمهورية التشيك7:00 PM0-0لم تبدأ بعدالدنماركبي ان ماكس 1احمد البلوشييورو 2020
اوكرانيا10:00 PM0-0لم تبدأ بعدإنجلترابي ان ماكس 1حسن العيدروسيورو 2020
and more ...
我正在使用 BeautiifulSoup
抓取一个阿拉伯语网站,但返回的阿拉伯语字符是倒置的和单独的字符(将其粘贴到此处正确编码,因此您必须相信我:)。
网站字符集正在使用 UTF-8
<meta charset=UTF-8>
我是这样解析的:
url = 'https://new.kooora4live.net/matches-today-1/'
page = requests.get(url)
soup = BeautifulSoup(page.content, 'lxml', from_encoding='utf-8')
将请求的 HTML 写入具有 utf-8
编码的文件会在文件中正确格式化它,因此它似乎是 BeautifulSoup
.
知道我做错了什么或如何解决吗?
.....
更新:
使用 utf-8-sig
编码也不起作用。
您需要设置页面编码以匹配其外观编码。
试试这个:
import requests
from bs4 import BeautifulSoup
page = requests.get('https://new.kooora4live.net/matches-today-1/')
page.encoding = page.apparent_encoding
soup = BeautifulSoup(page.content, 'lxml').select("a")
print("\n".join(a.getText(strip=True) for a in soup))
这将打印出:
الأخبار
أهم المباريات
جداول
ترتيب الفرق
ترتيب الهدافين
مباريات الأمس
مباريات اليوم
مباريات الغد
جمهورية التشيك7:00 PM0-0لم تبدأ بعدالدنماركبي ان ماكس 1احمد البلوشييورو 2020
اوكرانيا10:00 PM0-0لم تبدأ بعدإنجلترابي ان ماكس 1حسن العيدروسيورو 2020
and more ...