将io.BytesIO转换为io.StringIO以解析HTML页面 [英] Convert io.BytesIO to io.StringIO to parse HTML page

查看:717
本文介绍了将io.BytesIO转换为io.StringIO以解析HTML页面的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试解析通过pyCurl检索到的HTML页面,但是pyCurl WRITEFUNCTION返回的页面是BYTES而不是字符串,因此我无法使用BeautifulSoup对其进行解析.

I'm trying to parse a HTML page I retrieved through pyCurl but the pyCurl WRITEFUNCTION is returning the page as BYTES and not string, so I'm unable to Parse it using BeautifulSoup.

有什么方法可以将io.BytesIO转换为io.StringIO?

Is there any way to convert io.BytesIO to io.StringIO?

或者还有其他解析HTML页面的方法吗?

Or Is there any other way to parse the HTML page?

我正在使用Python 3.3.2.

I'm using Python 3.3.2.

推荐答案

一种幼稚的方法:

# assume bytes_io is a `BytesIO` object
byte_str = bytes_io.read()

# Convert to a "unicode" object
text_obj = byte_str.decode('UTF-8')  # Or use the encoding you expect

# Use text_obj how you see fit!
# io.StringIO(text_obj) will get you to a StringIO object if that's what you need

这篇关于将io.BytesIO转换为io.StringIO以解析HTML页面的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆