首页 > 解决方案 > 如何将 Python 爬取的 Bing 网页内容转换为人类可读的内容?

问题描述

我正在使用 python 爬行 Bing 网络搜索页面。我发现收到的原始内容看起来像字节类型,但尝试解压缩它失败了。有人知道这是什么类型的数据,我应该如何从这些原始内容中提取可读性?谢谢!

我的代码显示了原始内容,然后尝试执行 gunzip,因此您可以看到原始内容以及解压缩的错误。由于原始内容太长,我只是将前几行粘贴在下面。

代码:

import urllib.request as Request
import gzip

req = Request.Request('www.bing.com')
req.add_header('upgrade-insecure-requests', 1)
res = Request.urlopen(req).read()
print("RAW Content: %s" %ResPage) # show raw content of web
print("Try decompression:")
print(gzip.decompress(ResPage))   # try decompression

结果:

RAW Content: b'+p\xe70\x0bi{)\xee!\xea\x88\x9c\xd4z\x00Tgb\x8c\x1b\xfa\xe3\xd7\x9f\x7f\x7f\x1d8\xb8\xfeaZ\xb6\xe3z\xbe\'\x7fj\xfd\xff+\x1f\xff\x1a\xbc\xc5N\x00\xab\x00\xa6l\xb2\xc5N\xb2\xdek\xb9V5\x02\t\xd0D \x1d\x92m%\x0c#\xb9>\xfbN\xd7\xa7\x9d\xa5\xa8\x926\xf0\xcc\'\x13\x97\x01/-\x03... ...

Try decompression:
Traceback (most recent call last):
OSError: Not a gzipped file (b'+p')


Process finished with exit code 1

标签: pythonpython-requestsweb-crawlersearch-enginebing

解决方案


开始使用 requests 库要容易得多。另外,这也是当今 http 请求最常用的库。

在你的 python 环境中安装请求:

pip install requests

在您的 .py 文件中:

import requests

r = requests.get("http://www.bing.com")

print(r.text)

推荐阅读