最近在开发公司的OA系统,领导要求公司旗下所有网站的51拉统计数据能自动抓取到我们自己的数据库中,心想这种抓取统计数据的程序以前肯定有人写过,到百度搜了一下没有找到抓取51la的,于是乎自己动手。 1、利用httpwatch找到网站入口及参数:(详情略,请百度httpwatch的使用方法) 2、利用httpwebRequest将51拉查看密码Post到网站入口,登陆成功后再进入你想要进入的页面抓取页面 /// /// 某日或者叫时间段,51la里组员ID里——搜索引擎内——的数据。 /// /// /// /// /// /// public string FiveLaSeo(string strStaticId, string LookPass,string strBeginDate,string strEndDate) { CookieContainer Cc = new CookieContainer(); ASCIIEncoding encoding = new ASCIIEncoding(); string postData = "id=" + strStaticId; postData += ("&lookpass=" + LookPass); postData += "&t=chalogin"; //将提交的字符串数据转换成字节数组 byte[] data = encoding.GetBytes(postData); // 设置提交的相关参数 HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create("http://www.51.la/report/0_help.asp"); myRequest.Method = "POST"; myRequest.ContentType = "application/x-www-form-urlencoded"; myRequest.ContentLength = data.Length; //cookie的容器一定要加 myRequest.CookieContainer = Cc; // 提交请求数据 Stream newStream = myRequest.GetRequestStream(); newStream.Write(data, 0, data.Length); newStream.Close(); // 接收返回的页面 HttpWebResponse myResponse = (HttpWebResponse)myRequest.GetResponse(); StreamReader reader = new StreamReader(myResponse.GetResponseStream(), Encoding.Default); string content = reader.ReadToEnd(); //进去后打开特定页面的参数设置 myRequest = (HttpWebRequest)WebRequest.Create("http://www.51.la/report/3_SE.asp?id=" + strStaticId + "&d1=" + strBeginDate + "&d2=" + strEndDate); myRequest.Method = "GET"; myRequest.KeepAlive = false; myRequest.CookieContainer = Cc; //接收返回的特定页面 myResponse = (HttpWebResponse)myRequest.GetResponse(); newStream = myResponse.GetResponseStream(); reader = new StreamReader(myResponse.GetResponseStream(),Encoding.Default); content = reader.ReadToEnd(); return content; } 3、将抓取的页面进行正则表达式匹配,取出自己所需要的数据(这里我需要搜索引擎流量) /// /// 返回51拉中:搜索引擎的访问量IP-*?表示匹配最少的重复项目 /// /// /// /// /// /// public string FivelaSeoPv(string strStaticId, string LookPass,string strBeginDate,string strEndDate) { Tool.FiveLa fl = new FiveLa(); string html=fl.FiveLaSeo(strStaticId, LookPass, strBeginDate, strEndDate); string pattern = @"来自搜索引擎的访问量 /( [/s/S]*? IP /) 占总访问量"; //string pattern = @"占总访问量"; string number = Regex.Match(html, pattern, RegexOptions.IgnoreCase).Value; number = number.Replace("来自搜索引擎的访问量 (", "").Replace(" IP )", "").Replace("占总访问量","").Trim(); ; if (number == "") { number = "0"; } return number; } 4、最后来看看利用ActiveReport显示取得数据的效果。

from: http://www.cnblogs.com/showker/archive/2009/06/29/1513054.html

利用HttpWebRequest自动抓取51la统计数据相关推荐

  1. 关于fi dd ler 手机抓包 网卡地址地址_利用无线路由器如何抓取手机网络数据包【详细介绍】...

    当用户运用手机访问网络时,手机在不断接受与发送数据包,而这些数据包中包含了大量的用户信息,包括各种账号信息.聊天信息.发送接收文件.邮件.浏览的网页等.虽然很多信息是加密传输的,但还是会有大量信息是明 ...

  2. vba 提取 json某个值_VBA利用IE,抓取解禁股票数据

    大家好,我们今日讲解"VBA信息获取与处理"教程中第九个专题"利用IE抓取网络数据"的第三节"利用IE,抓取解禁股票数据",这个专题是非常有 ...

  3. 利用 Python 自动抓取微博热搜,并定时发送至邮箱

    点击上方"Python爬虫与数据挖掘",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 夜阑卧听风吹雨,铁马冰河入梦来. ...

  4. php获取cnzz数据,PHP curl抓取cnzz统计数据

    class Vcurl{ public $mcookie; public $content; public function post($post_url,$param) { $ch = curl_i ...

  5. 利用selenium自动抓取淘宝后台运营数据填入表格

    在下帮别人写的简单python程序.我很懒,有时间再写博客,先放github链接吧 使用说明: 一.电脑环境配置 电脑:windows系统: 浏览器:谷歌,建议版本 95.0.4638.69(如果其他 ...

  6. 运维笔记40 Linux系统监控之Cacti(Cacti搭建,自动抓取cacti统计图片脚本)

    概述:监控系统在一个系统中十分重要,它会将很多重要的信息,诸如内存信息,cpu信息,硬盘信息集合在一起显示出来,当系统出现问题的时候我们能及时定位并修复错误.今天介绍的监控系统是一款轻量级的监控系统C ...

  7. python 自动抓取分析房价数据——安居客版

    引言 中秋回家,顺便想将家里闲置的房子卖出去.第一次卖房,没经验,于是决定委托给中介.中介要我定个价.最近几年,房价是涨了不少,但是长期在外,也不了解行情.真要定个价,心里还没个数.网上零零散散看了下 ...

  8. java 股票_java抓取东方财富股票数据

    背景 前段时间给朋友写了一个自动抓取同花顺股票数据的程序,不少人觉得不错. 这几天后台有粉丝给我留言让我也抓一下东方财富的数据,说东方财富的数据特别难抓,我还真不一定能搞得定. 本来我是一个德艺双磬且 ...

  9. java股票数据_java抓取东方财富股票数据(附源码)

    背景 前段时间给朋友写了一个自动抓取同花顺股票数据的程序,不少人觉得不错. 这几天后台有粉丝给我留言让我也抓一下东方财富的数据,说东方财富的数据特别难抓,我还真不一定能搞得定. 本来我是一个德艺双磬且 ...

  10. java+selenium自动化抓取51la数据

    java+selenium自动化抓取51la数据 初衷 环境依赖 demo上代码 效果来个马赛克 如果觉得写的不错或者想了解更多,欢迎收藏和关注~~ 初衷 前端埋点51la,进行网站统计.51la没有 ...

最新文章

  1. 如何用代码的方式取出SAP C4C销售订单创建后所有业务伙伴的数据
  2. 贩卖知识的“成功学”,大师“卖拐”几时休?
  3. 剑指offer之打印链表的倒数第N个节点的值
  4. 论文阅读(3)--SPDA-CNN: Unifying Semantic Part Detection and Abstraction for Fine-grained Recognition
  5. dnn神经网络 缺点_抄近路神经网络如何因找捷径而犯错
  6. Spring Boot的RestTemplate 之exchange方法
  7. alpine linux安装桌面,Alpine linux硬盘安装
  8. ubuntu虚拟机进程被杀死_vmware虚拟机奔溃,如何抢救文件
  9. springboot中整合elasticsearch(基于springboot2.5.4,es版本7.13.2)
  10. 不懂就问确实是个好习惯------韩愈《师说》
  11. 电脑cd,CD光盘如何翻录在电脑上 将CD复制到电脑上步骤的方法有哪些
  12. cpu第几代计算机,怎么看cpu是几代的,来看看你的CPU是几代的?
  13. 满分考生进入清华学造芯片,集成电路学院院长亲自带,网友:为中华之崛起而读书...
  14. Burg法求解AR(p)模型参数(三)Levinson递推公式
  15. EndNote的安装与使用
  16. pip加速源之python,快如火箭
  17. 常见web中间件 HTTP 限制请求方法 配置
  18. html5字体在线代码,网络字体@font-face 如何处理网页中的特殊字体
  19. 无敌哈拉少(奋起反抗的人)
  20. 微软再曝“丑闻”:在办公室看 VR 黄片,“HoloLens 之父”即将离职!

热门文章

  1. 迁移学习系列--方法篇
  2. Python新手入门第一步:什么是 IDE?IDE 有什么用?
  3. 串口协议和RS-232标准,RS232电平与TTL电平的区别,以及USB/TTL转232“模块(CH340芯片为例)的工作原理
  4. Android 脚本设计之 SL4A
  5. 安徽大学计算机专硕学几年,安徽大学专业硕士学制几年
  6. 电脑硬件常见故障维修技巧
  7. s5p6818/fs4418系统移植之uboot的移植
  8. 将两个字符串连接起来,不要用strcat函数。
  9. EDI的含义及其重要性
  10. Redundant declaration: @SpringBootApplication already applies given @ComponentScan