'''字符被添加到HTML响应中

时间:2015-07-29 11:16:48

标签: http python-3.x curl python-requests

我正在尝试使用请求和美丽的汤从网页中提取内容。

使用请求检索页面内容时,我遇到了一个相当奇怪的问题。正如您在屏幕截图(original page)中看到的那样,- (void) URLSession:downloadTask:didFinishDownloadingToURL: 字符似乎随机插入(我已突出显示它们以使其更清晰)。

Example

示例代码:

Â

起初,我认为这与编码不是UTF-8有关,但这似乎没问题:

from bs4 import BeautifulSoup
import requests

url = 'https://technet.microsoft.com/en-us/sysinternals/bb963902'
r = requests.get(url=url)

with open('/Users/xxxx/test.html', 'wb') as f:
    f.write(r.content)

我尝试使用curl(r.encoding >> 'utf-8' )检索同一页面,输出中也会显示相同的问题。

1 个答案:

答案 0 :(得分:1)

您正确收到该文件。由于HTML文件缺少字符集信息,因此当您查看下载的文件时,浏览器会检测到错误的编码(Western而不是Unicode)。

当您在线浏览时,它会正确呈现,因为服务器会在Content-Type标头中发送字符集信息。