返回信息流我用.net下的webclient类去抓取一个网页,返回字节流,我怎么判断其编码格式然后把他
转换成字符串?
试过header,但是好像返回的不对啊
这是一条镜像帖。来源:北邮人论坛 / soft-design / #23249同步于 2007/12/21
该镜像源已超过 30 天没有更新,可能在源站已被删除。
SoftDesign机器人发帖
请教一个网页分析的问题
Lynus
2007/12/21镜像同步14 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
<meta http-equiv=Content-Type content="text/html; charset=gb2312">
是指的这个编码么?
对,但是我不知道怎么来获取,我用webClient.ResponseHeaders.Get("Content-Type");
但是有些网页虽然源码有用charset但是读取出来的content-typez只有text/html,我不知道为什么
可以用httpresponse类的某方法直接获得(手头没有vs,记不得那么多关键字,如果要代码,晚上给你),但是由于很多页面不符合w3c标准,所以大部分获得都是空值!
所以一般都是这么做:
先按照utf-8编码获得网页源代码,然后用正则表达式判断charset=后面的内容,然后如果改值为utf-8或者为空,就不用处理;否则,则按照获得的charset值编码方式再次获取源代码
如果要完整源码,晚上给你。。
另外,网页代码分析很复杂的,除非你的分析源很固定(比如固定某网站),否则要考虑的东西很多很多,要写无数的正则表达式,楼主加油了。。。