realestate.cei.gov.cn
using AnfleCrawler.Common;
using System;
using System.Collections.Concurrent;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace AnfleCrawler.DataAnalyzer
{
public class ManualAnalyzer : AnalyzerBase
{
private ConcurrentQueue<string[]> _dict = new ConcurrentQueue<string[]>(); public override void Init(PageCrawler crawler)
{
crawler.Lander.Idle += Lander_Idle;
base.Init(crawler); var url = new Uri("http://www.realestate.cei.gov.cn/traden/br2.aspx?rq=20140601&lx=w6&r1=20140830");
var dom = Crawler.Lander.GetDocument(new PageContentHandler() { Url = url });
foreach (var node in QueryNodes(dom.DocumentNode, "#qrq option"))
{
string val = node.GetAttributeValue("value", string.Empty);
Crawler.PushUrl(new Uri(string.Format("http://www.realestate.cei.gov.cn/traden/br2.aspx?rq={0}&lx=w6&r1=20140830", val)), );
}
}
void Lander_Idle(object sender, EventArgs e)
{
Crawler.OutWrite("Start step2...");
App.LogInfo("Start step2...");
using (var writer = new System.IO.StreamWriter(@"D:\outdict.txt", false, Encoding.UTF8))
{
foreach (var set in _dict)
{
writer.WriteLine(string.Join(",", set));
}
}
} protected override void AnalyzeInternal(PageLandEntity current)
{
Crawler.OutWrite("*Start step1...");
var lander = Crawler.Lander;
var pHandler = CreateContentHandler(current);
switch (current.Depth)
{
case :
{
var query = System.Web.HttpUtility.ParseQueryString(current.Url.Query);
var dt = DateTime.ParseExact(query["rq"], "yyyyMMdd", null);
var dom = lander.GetDocument(pHandler); var checkNode = QueryNode(dom.DocumentNode, "#str1");
if (string.IsNullOrWhiteSpace(checkNode.InnerText))
{
return;
}
checkNode.InnerHtml = checkNode.InnerHtml.Replace("<tr", "</tr><tr").Substring();
App.LogInfo("WTF CN:{0}", checkNode.InnerHtml);
var set = QueryNodes(checkNode, "tr");
foreach (var node in set)
{
var x = new List<string>();
x.Add(dt.ToString("yyyy-MM-dd"));
x.AddRange(QueryTexts(node, "td"));
_dict.Enqueue(x.ToArray());
}
_dict.Enqueue(new string[] { Environment.NewLine });
Crawler.OutWrite("#Stop step1 {0} {1}", dt.ToShortDateString(), set.Count());
}
break;
}
}
}
}
realestate.cei.gov.cn的更多相关文章
- https://jzh.12333sh.gov.cn/jzh/
https://jzh.12333sh.gov.cn/jzh/ https://superuser.com/questions/171917/force-a-program-to-run-withou ...
- js加密(十四)mail.yw.gov.cn/ RSA
1. url: http://mail.yw.gov.cn/ 2. target:登录js 3. 简单分析: 寻找加密js: 3.1 直接寻找加密的参数p是不好找的,所以我们试着去寻找一些更明显的参数 ...
- js加密(十三)zzxt.hee.gov.cn md5
1. url: http://zzxt.hee.gov.cn/ 2. target: 登录加密 3. 简单分析: 这个应该很容易就能找到加密的js,直接拿出来就好. 4. js: /* * md5 * ...
- 小伙 zwfw-new.hunan.gov.cn.iname.damddos.com [222.240.80.52]
由于这个应用出问题非常影响用户体验:于是立马让运维保留现场 dump 线程和内存同时重启应用,还好重启之后恢复正常.于是开始着手排查问题.
- FastReport问题整理(http://129.sqdj.gov.cn/?p=77)
1.FastReport中如果访问报表中的对象?可以使用FindObject方法.TfrxMemoView(frxReport1.FindObject(’memo1′)).Text:=’FastRep ...
- RESEACH PAPER
个,proquest的username和password赫然在目,别急,再看第4个结 果"HB Thompson Subscription Online Databases", ...
- IT技术网站汇总
首先是比较著名的博客型的网站!一般来说在国外比较著名的博客基本上都是比较有影响力发起的或者建立的经常发布一些比较有思考力深入分析的文章! 博客媒体网站 1.www.ArsTechnica.com 2. ...
- [No0000EE]主要的宏观经济指标查询
主要的宏观经济指标查询 国内:东财>经济数据 _ 数据中心:http://data.eastmoney.com/center/macro.html东财>经济数据 :http://data. ...
- 系统学习Linux建议
国内的专业Linux网站(GB) ChinaUnix Linux中国 实验楼: 免费提供了Linux在线实验环境,不用在自己机子上装系统也可以学习Linux,超方便实用!. 国内的专业Linux网站( ...
随机推荐
- [attribute^=value] 匹配给定的属性是以某些值开始的元素
描述: 查找所有 name 以 'news' 开始的 input 元素 HTML 代码: <input name="newsletter" /> <input n ...
- maven私有库配置
私有库的配置 协同开发过程中私有库可以为团队提升很大效率,之前我的私有库一直存在问题导致jar包导入异常.现在在这分享一下私有库配置的几个点,可能因为我们学校比较简陋所以配置的比较简单,欢迎大家补充 ...
- jQuery 选择器 (基础恶补之二)
返回 CSS 属性 如需返回指定的 CSS 属性的值,请使用如下语法: css("propertyname"); 下面的例子将返回首个匹配元素的 background-color ...
- python : HTML+CSS (定时器轮寻)
定时器轮寻 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF ...
- IOS UIView 属性clipsToBounds
当一个view上加了一个SubView 并且subview 的size超出了view的size那么默认超出部分也会显示出来,要想不显示出来设置 view的clipsToBounds属性设置成YES:即 ...
- 【转】eclipse安装SVN插件的两种方法
转载地址:http://welcome66.iteye.com/blog/1845176 eclipse里安装SVN插件,一般来说,有两种方式: 直接下载SVN插件,将其解压到eclipse的对应目录 ...
- asp.net 之 购物车
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...
- 基于Node的PetShop,oauth2认证RESTful API
前篇 - 基本认证,用户名密码 后篇 - OAuth2 认证 前文使用包passport实现了一个简单的用户名.密码认证.本文改用oauth2来实现更加安全的认证.全部代码在这里. OAUTH2 用户 ...
- SQL Server T-SQL高级查询
name like 'ja%'; select * from student where name not like '%[j,n]%'; select * from student where na ...
- U9单据UI开发--单据类型UI开发
1.在解决方案下新建UI界面项目,命名以UI作为后缀 2.先删除系统默认新建的UI界面数据模型,并新建界面数据 3.新建单据类型UIModel(界面数据),以model作为界面数据后缀名 4.修改单据 ...