// 通过节点名称以及节点的一个属性值在源码中过滤出相应的信息
public NodeList getNodeListByAttribute(string nodeName, string attributeName, string attributeValue, Parser paser)
{
NodeFilter nodeFilter = new TagNameFilter(nodeName);
NodeFilter nameFilter = new HasAttributeFilter(attributeName, attributeValue);
AndFilter andFilter = new AndFilter(nodeFilter, nameFilter);
NodeList nodeList = paser.ExtractAllNodesThatMatch(andFilter);
return nodeList;
}
// urlParam 网址,返回网页源代码
public string GetStringByResponse(string urlParam, string coding)
{
if (coding.Length == 0) // 如果传过来的编码类型为空 则默认为 UTF-8
coding = "UTF-8";
WebRequest request; // 实例一个请求对象
try
{
request = WebRequest.Create(urlParam); // 创建一个参数为下载页面的请求
}
catch (UriFormatException)
{
request = null;
}
request.Credentials = CredentialCache.DefaultCredentials; // 若服务器需要,则设置凭据
HttpWebResponse response = null; // 设置响应为null
Stream dataStream = null; // 设置服务器端的响应流为null
StreamReader reader = null;
string responseFromServer = null; // 从服务器中获得响应的字符串
try
{
response = (HttpWebResponse)request.GetResponse(); // 获得响应
if (response.StatusCode == HttpStatusCode.OK) // 请求成功
{
dataStream = response.GetResponseStream(); // 从响应中获得响应的流信息
reader = new StreamReader(dataStream, Encoding.GetEncoding(coding));
responseFromServer = reader.ReadToEnd(); // 从streamReader中读出响应流string,得出相应的具体内容
}
}
catch (WebException)
{
return null;
}
finally
{
if (reader != null)
reader.Close();
if (dataStream != null)
dataStream.Close();
if (response != null)
response.Close();
}
return responseFromServer; ;
}
WHI
- 粉丝: 30
- 资源: 35
最新资源
- 计算机毕业设计:python+爬虫+cnki网站爬
- nyakumi-lewd-snack-3-4k_720p.7z.002
- 现在微信小程序能用的mqtt.min.js
- 基于MPC的非线性摆锤系统轨迹跟踪控制matlab仿真,包括程序中文注释,仿真操作步骤
- shell脚本入门-变量、字符串, Shell脚本中变量与字符串的基础操作教程
- 基于MATLAB的ITS信道模型数值模拟仿真,包括程序中文注释,仿真操作步骤
- 基于Java、JavaScript、CSS的电子产品商城设计与实现源码
- 基于Vue 2的zjc项目设计源码,适用于赶项目需求
- 基于跨语言统一的C++头文件设计源码开发方案
- 基于MindSpore 1.3的T-GCNTemporal Graph Convolutional Network设计源码
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
- 1
- 2
前往页