bizzare编码问题使得一个特定的网站只有在查看sou时才会胡言乱语

2024-10-01 15:29:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在写一个python脚本来获取一些新闻网站的文章,我遇到了一个非常奇怪的编码问题。它是为一个以色列朋友,所以网站都是希伯来语,我的方法(使用请求和beautifulsoup)工作得很好,直到我到了这个网站,保持胡言乱语,无论我做什么。 网站是makorishon。奇怪的是: 当我在浏览器中看到它时,它不是乱七八糟的,当我在firefox上使用“inspect element”时,html不是乱七八糟的,当我从浏览器中查看源代码时,它不是乱七八糟的(它也不好,它在两个js块之间的两行中显示整个页面),但是当我使用python时,即使要将html保存到我的计算机,然后在浏览器中打开保存的文件。 我尝试了所有可能的编码,以任何方式与希伯来语有关,每一种都给我留下了一组不同的难以理解的符号。 正常情况下是这样的: this is how it should look like 以下是“由python保存”页面的外观: this is how it looks like after saving 这是唯一的网站,我知道这样做,我用了其他希伯来语网站上的相同的工具,它出来的罚款。你知道吗

我用来产生这个的代码是:

>>> import requests
>>> res = requests.get('https://www.makorrishon.co.il/')
>>> res
<Response [200]>
>>> file = open('makor1.html', 'w')
>>> file.write(res.text)
152957
>>> file.close()

顺便说一句,这是一台linux笔记本电脑


Tags: 方法脚本编码网站html文章浏览器朋友
1条回答
网友
1楼 · 发布于 2024-10-01 15:29:31

在写入文件之前,请尝试添加res.encoding = 'utf-8'

if __name__ == '__main__':
    import requests
    res = requests.get('https://www.makorrishon.co.il/')
    res.encoding = 'utf-8'
    file = open('makor1.html', 'wb')
    file.write(res.text.encode('utf-8'))
    file.close()

相关问题 更多 >

    热门问题