删除线格式 # C#获取动态网页中的数据

在实际工作需求中,编辑的文档需要获取历史地震的信息,所以利用计算机语言获取是一个简化人工操作的必要过程,本文分享一下自己第一次获取交互信息的爬虫经历!

操作流程

我要获取的信息如下图,通过填入不同的日期、经纬度、震级等,搜索到想要的结果。

刚开始是没有头绪的,查看网页的源代码找不到搜索的结果,那么我们首先要做的是找到数据的位置。

第一步:通过右键审查元素,点击Network,会出现如下图所示的两个文件:

点击第一个文件,看到它的Preview有我们想要的信息,Response中含有这部分的代码,是我们想要的数据:


第二部:找到网址,请求方式和参数,这部分信息都包含在Headers中:

第三步:C#编程获取网页

这里就直接上代码了

// An highlighted block
//url目标地址
string url = "网址";
//要提交的数据
string postString = "DISPLAY_TYPE=1&PAGEID=earthquake_subao&catalog_ALLDATASETS_RECORDCOUNT=catalog__default_default_default_key__default_default_default_key%3D65%3B"
+"&refreshComponentGuid=earthquake_subao_guid_catalog&begtime=2019-09-10&endtime=2019-10-10"
+"&minM=3&maxM=10&minLon=-180.0&maxLon=180.0&minLat=-90.0&maxLat=90.0"
+"&minDepths=0&maxDepths=1000&SEARCHREPORT_ID=catalog&WX_ISAJAXLOAD=true";
//这里即为传递的参数,可以用工具抓包分析,也可以自己分析,主要是form里面每一个name都要加进来
byte[] postData = Encoding.UTF8.GetBytes(postString);//编码,尤其是汉字,事先要看下抓取网页的编码方式
WebClient webClient = new WebClient();
webClient.Headers.Add("Content-Type", "application/x-www-form-urlencoded");//采取POST方式必须加的header,如果改为GET方式的话就去掉这句话即可
byte[] responseData = webClient.UploadData(url, "POST", postData);//得到返回字符流  string srcString = Encoding.UTF8.GetString(responseData);//解码
//解析获取到的网页
HtmlAgilityPack.HtmlDocument History_doc = new HtmlAgilityPack.HtmlDocument();
History_doc.LoadHtml(srcString);

接下来就是网页中内容的读取了,第一次写,谢谢大家的批评指正!!!

下一篇:C#语言中string格式转json格式

C#获取动态网页中的数据相关推荐

  1. python3 requests 动态网页post提交数据_Python爬虫三:动态网页爬虫

    1. 利用API爬取数据 有时,使用BeautifulSoup解析和提取数据后,输出结果为空.这是由于网页使用了另一种加载数据的方式--通过API加载数据.API(Application Progra ...

  2. mouted能不能访问data中的数据_Vue(定时器)解决mounted不能获取到data中的数据问题...

    vue中data定义 data() { return { isok:10, } } 在vue中使用定时器 如下 mounted是钩子函数 mounted(){ console.log(this.iso ...

  3. c语言编程网页数据提取,怎么用c语言抓取网页中的数据

    当前位置:我的异常网» C语言 » 怎么用c语言抓取网页中的数据 怎么用c语言抓取网页中的数据 www.myexceptions.net  网友分享于:2013-07-17  浏览:390次 如何用c ...

  4. python网页数据存入数据库_python网络爬虫抓取动态网页并将数据存入数据库MySQL...

    简述 以下的代码是使用python实现的网络爬虫,抓取动态网页 http://hb.qq.com/baoliao/ .此网页中的最新.精华下面的内容是由JavaScript动态生成的.审查网页元素与网 ...

  5. python网站数据写入mysql_python网络爬虫抓取动态网页并将数据存入数据库MySQL

    简述 以下的代码是使用python实现的网络爬虫,抓取动态网页 http://hb.qq.com/baoliao/ .此网页中的最新.精华下面的内容是由JavaScript动态生成的.审查网页元素与网 ...

  6. 从网页中读取数据 python_数据分析硬核技能:用 Python 爬取网页

    我作为数据科学家的第一个任务,就是做网页爬取.那时候,我对使用代码从网站上获取数据这项技术完全一无所知,它偏偏又是最有逻辑性并且最容易获得的数据来源.在几次尝试之后,网页爬取对我来说就几乎是种本能行为 ...

  7. 【转载】使用 gnuplot 在网页中显示数据

    来源:http://www.ibm.com/developerworks/cn/aix/library/au-gnuplot/ 简介 gnuplot 是一个用于生成趋势图和其他图形的工具.它通常用于收 ...

  8. html 表格是网页中的数据,用 Pandas 读写网页中的 HTML 表格数据

    介绍超文本标记语言(HTML)是用于构建网页的标准标记语言.我们可以使用HTML的 Programming LanguageCreatorYear CDennis Ritchie1972PythonG ...

  9. [爬虫]通过url获取连接地址中的数据

    1. 要想获取指定连接的数据,那么就得使用HtmlDocument对象,要想使用HtmlDocument对象就必需引用using HtmlAgilityPack; 2. 详细步骤如下:     步骤一 ...

最新文章

  1. 分布式图处理引擎Graph Engine 1.0 预览版正式发布
  2. 转载:python3 安装pycrypto
  3. matlab cfun,【图片】求求各位大佬帮弱鸡看看【matlab吧】_百度贴吧
  4. Git的配置SSHKey
  5. CentOS 6.5 下安装 Kibana5
  6. LeetCode题 - 83. 删除排序链表中的重复元素 python实现
  7. 德鲁伊 oltp oltp_内存中OLTP –娱乐看门狗的三个关键点
  8. Kontakt 6 for Mac崩溃时常用的几种解决方案
  9. python opencv视频流_python – PyQt显示来自opencv的视频流
  10. 3dmax、python3、Rational Rose、DTLite、commons-math3、VM12、DreamWeaver、SPSS、sqlserver2008、mySQL等软件安装包最全集合
  11. easyui1.5:combobox:onSelect
  12. [LeetCode 1360~1363][周赛]周赛177题解
  13. android qq 退出帐号,大家手机上的QQ平常用完退不退出帐号
  14. word页眉页脚,奇偶不同
  15. html5网页制作心得体会,网页设计课程学习心得总结
  16. ClassNames
  17. 迭代法的c语言程序,松弛迭代法C程序
  18. MMSeg错误:RuntimeError: Default process group has not been initialized
  19. 一元交友源码对接码支付免费送
  20. 简单介绍一下“前向安全”的知识(从零开始学区块链 137)

热门文章

  1. Acwing算法基础课学习笔记
  2. 服务器内网与外网的四大区别?
  3. HDU2370——Convert Kilometers to Miles
  4. Ubuntu真心不太适合搞开发啊
  5. 服务器虚拟机控制台打不开,OpenStack虚拟机控制台打不开
  6. 【方案分享】华与华《爱的是酒》酣客品牌定位及传播咨询方案.pptx(附下载链接)...
  7. 怎么关闭win10自带杀毒软件
  8. 想要彻底掌握placement各种技巧,这个一定可以如你所愿
  9. 电动汽车的新问题,保险公司赔不起,车主养不起
  10. 酷睿i7 12700k和i7 12700kf的区别 i712700k和i712700kf差多少