经验总结21--抓取WEB数据,汇率,HtmlAgilityPack

news/2025/2/25 16:19:03

网上找了非常多资料,PHP的比較多,然后找到有csv文件的。处理起来非常麻烦,国外的站点速度非常慢。

最后还是去页面上抓取数据,我是从中国银行抓取的,各位可去其它站点抓取。

1、模拟请求URL。

string url = "http://srh.bankofchina.com/search/whpj/search.jsp?

pjname=1316";

HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest;
                request.Method = "GET";
                request.ContentType = "text/html; charset=UTF-8";
                request.UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:30.0) Gecko/20100101 Firefox/30.0";
                HttpWebResponse response = request.GetResponse() as HttpWebResponse;
                Stream myResponseStream = response.GetResponseStream();
                StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.UTF8);
                string result = myStreamReader.ReadToEnd();

2、对HTML进行处理。

使用HtmlAgilityPack进行辅助。

HtmlDocument doc = new HtmlDocument();
                doc.LoadHtml(result);
                foreach (HtmlNode node in doc.DocumentNode.SelectNodes("//td"))
                {
                    if (node.InnerText == "美元")
                    {
                        result = node.NextSibling.NextSibling.InnerText;
                        break;
                    }
                }

具体数据位置。自己可先用F12查找到。然后使用工具进行查找,具体文档自己去查,这种方法临时获取到USD-CNY的汇率。


转载于:https://www.cnblogs.com/gavanwanggw/p/6906861.html


http://www.niftyadmin.cn/n/712977.html

相关文章

python 优先队列_队列只能先进先出?试试使用优先队列自由的控制队列的弹出顺序吧...

相信对于队列的概念大家都不会陌生,这种先入先出的数据结构应用很广泛,像一般的生产消费都会用到队列,关于Queue的用法介绍可以参考我之前的文章 python中的Queue与多进程(multiprocessing)还有栈,栈是一种先入后出的数据结构,优先…

python中etree是什么意思_python lxml中etree的简单应用

我一般都是通过xpath解析DOM树的时候会使用lxml的etree,可以很方便的从html源码中得到自己想要的内容。这里主要介绍一下我常用到的两个方法,分别是etree.HTML()和etree.tostrint()。1.etree.HTML()etree.HTML()可以用来解析字符串格式的HTML文档对象&am…

ZZULIOJ-1095,时间间隔(多实例测试)(Python)

题目描述: 从键盘输入两个时间点(24小时制),输出两个时间点之间的时间间隔,时间间隔用“小时:分钟:秒”表示。要求程序定义如下两个函数,并在main()中调用这两个函数实现相应的功能,其中main函数系统已经实现&#xff…

多起点和终点求最短路

一个人的旅行Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 16100 Accepted Submission(s): 5521Problem Description 虽然草儿是个路痴(就是在杭电待了一年多,居然还会在校园里迷路的…

MySQL初级篇——常用SQL语句(大总结)

文章目录: 1.数据库的相关操作 1.1 连接数据库 1.2 创建数据库 1.3 查看数据库有哪些 1.4 查看指定的数据库 1.5 删除指定的数据库 1.6 使用数据库(很重要) 1.7 用户的创建和删除 1.8 授权 1.9 收权 1.10 视图的创建与删除 …

telnet 端口不通_一个老哥问了一个端口监听的问题

老哥问:请教个问题,电脑上怎么开通8181端口?出入站规则我都加了。电脑上的所有端口号不都是默认开放的吗?我问:防火墙全关闭了么老哥说:关闭了,杀毒软件防火墙都关了我说:那添加出入…

keras训练完以后怎么预测_使用TF2与Keras实现经典GNN的开源库——Spektral

这里有一个简单但又不失灵活性的开源 GNN 库推荐给你。机器之心报道,参与:Racoon。Spektral 是一个基于 Keras API 和 TensorFlow 2,用于图深度学习的开源 Python 库。该项目的主要目的是提供一个简单但又不失灵活性的图神经网络(…

疯狂ios讲义之实现游戏逻辑(1)

FKGameService类是整个游戏逻辑实现的核心它是一个可以复用的业务逻辑类它与游戏实现平台无关其实现原理与《疯狂Android讲义》书中Android版《疯狂连连看》游戏中GameService的实现原理相同。13.6.1 定义FKGameService的接口代码根据前面程序对FKGameService对象的依赖程序需要…