关于HtmlAgilityPack解析页面中数据乱码问题

第一种方式:

public static HtmlDocument LoadHtmlByUrls(string url)

{

HtmlDocument htmldoc;

HtmlWeb htmlWeb = new HtmlWeb();  //不够完善  此内置方法导致中文乱码

//htmlWeb.OverrideEncoding = Encoding.UTF8;

htmldoc = htmlWeb.Load(url);

Encoding coding = htmldoc.StreamEncoding;

htmlWeb.OverrideEncoding = coding;

htmldoc = htmlWeb.Load(url);

string str = htmldoc.DocumentNode.InnerHtml;

return htmldoc;

}

上面的方法解析大部分是没有问题的,但是会经常碰到解析乱码的问题,那是因为htmlweb调用的是ie访问。可能是它的不完善导致了访问数据出现乱码现象,我们可以用第二种自己定义请求访问数据的方式来解析url的数据。

第二种方式:

/// <summary>

/// 取得 url 对应的 HtmlDocument

/// </summary>

/// <param name="url"></param>

/// <returns>中文不乱码(如果出了问题请用将上面的方法名改成当前方法名即可)</returns>

public static HtmlDocument LoadHtmlByUrl(string url)

{

HtmlDocument htmldoc = new HtmlDocument();

HttpWebRequest req;

req = WebRequest.Create(new Uri(url)) as HttpWebRequest;

req.Method = "GET";

WebResponse rs = req.GetResponse();

Stream rss = rs.GetResponseStream();

htmldoc.Load(rss);

string str = htmldoc.DocumentNode.InnerHtml;

return htmldoc;

}

以上两种方式或许不是最好的方法,但是也算是一种经验。

来自为知笔记(Wiz)

关于HtmlAgilityPack解析页面中数据乱码问题

时间: 2024-11-08 23:50:15

关于HtmlAgilityPack解析页面中数据乱码问题的相关文章

JSP页面中中文乱码问题

在编写Jsp页面的时候,发现写入其中的中文在浏览器浏览的时候会出现乱码的情况. 出现乱码的原因分析: 因为页面中对自己的编码格式的声明和页面的实际编码格式不相同,导致的,所以解决办法就是将页面中的声明的编码格式与页面的实际编码格式设为同一个编码. 这个问题可以这样解决: 首先,在页面顶端,用page指令声明此页的编码格式,比如通过contentType="text/html, utf-8"声明为utf-8格式. 其次,通过project->properties->resou

java 读取数据库中文信息,为何在jsp页面中出现乱码

有如下几种解决办法: 1.保证项目的字符编码和每一个jsp页面的字符编码一致,如果不一致可能导致中文乱码问题<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %><meta http-equiv="Content-Type" content="text/html; charset=

xpath案例 爬取58出租房源信息&amp;解析下载图片数据&amp;乱码问题

58二手房解析房源名称 from lxml import etree import requests url = 'https://haikou.58.com/chuzu/j2/' headers = { 'User-Agent': 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Mobile Safari/537.

在页面中出现乱码的解决方案

<!DOCTYPE html> <html> <head> <title>register.html</title> <meta name="keywords" content="keyword1,keyword2,keyword3"> <meta name="description" content="this is my page"> &l

js的提示信息在页面中出现乱码

问题如题,网上搜了很多都是说js和jsp/html的编码不一致导致的,但检查了两边的编码,都是utf-8. 解决办法:在引用js的标签中加入charset属性,如: <script src="../../lib/Plugins/datepicker_lang_zh_CN.js" charset="utf-8" type="text/javascript"></script> 这要再次设置编码后,问题得以解决. 原文地址:h

关于从JSP页面插入数据到数据库中乱码问题的解决

问题描述:最近我在写一个j2ee的留言板系统模块,遇到了一个非常让我头大的问题,当我从JSP页面输入数据后,通过hibernate中的业务逻辑类HQL语句把这个数据插入到本地的mysql数据库中,可是当我发现成功插入后在数据库中看到的是乱码,再回显到浏览页面中看到的也是一堆乱码,我的jsp页面设置编码为UTF-8,如下: <%@ page language="java" contentType="text/html; charset=UTF-8"    pag

Jsp页面中的中文乱码问题解决

在编写Jsp页面的时候,发现写入其中的中文在浏览器浏览的时候会出现乱码的情况. 出现乱码的原因分析: 因为页面中对自己的编码格式的声明和页面的实际编码格式不相同,而浏览器解析页面的时候是按照页面中声明的编码格式去解析的,所以当实际编码是A而页面中声明的编码是B时,解析后就会出现乱码.因此,解决办法就是将页面中的声明的编码格式与页面的实际编码格式设为同一个编码. 这个问题可以这样解决: 首先,在页面顶端,用page指令声明此页的编码格式,比如通过contentType="text/html, ut

实现excel导入导出功能,excel导入数据到页面中,页面数据导出生成excel文件

今天接到项目中的一个功能,要实现excel的导入,导出功能.这个看起来思路比较清楚,但是做起了就遇到了不少问题. 不过核心的问题,大家也不会遇到了.每个项目前台页面,以及数据填充方式都不一样,不过大多都是以json数据填充的.在导入excel填充json数据到页面时,真的让我差点吐血了.在做这个导入导出的时候,那一个礼拜都是黑暗的. 好了,废话不多说了,我今天就给大家展示这个两个功能的核心点,excel生成json数据和json数据生成excel文件. 一:从上传文件到服务器,后台java解析,

使用jQuery的data方法来为页面中的某个元素存储数据,(获取焦点,清除默认值)

使用data方法可以避免在DOM中存储数据,有些前端开发er喜欢使用HTML的属性来存储数据: 使用”alt”属性来作为参数名存储数据其实对于HTML来说是不符合语义的. 我们可以使用jQuery的data方法来为页面中的某个元素存储数据: html部分: 1 <form id="testform"> 2 <input type="text" class="clear" value="Always cleared&qu