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网站( ...
随机推荐
- window route 命令
使用 Route 命令行工具查看并编辑计算机的 IP 路由表.Route 命令和语法如下所示: route [-f] [-p] [Command][Destination] [mask Netmask ...
- Oracle logmnr工具分析日志脚本
在oracle:对logmnr工具分析日志这个不陌生:对数据恢复应用场景经常用到:这里为了方便对归档日志进行分析: 当然网上有一个logmnr界面的工具:感觉很人性化:下载需要积分:为此写一个脚本. ...
- T-SQL 的简单查询语句
通配符: “_”: 代表匹配一个字符 “%”: 代表匹配多个字符: []:表示范围,可以包含多个数据 [^] 表示取反 “-“ 表示范围 逻辑与 and 逻辑或 or 逻辑非 not 聚会函数 : ...
- sudo service docker start
sudo service docker start sudo docker run -t -i ubuntu:14.04 /bin/bash docker ps -l CONTAINER ID IMA ...
- SOAP和WSDL的一些必要知识
SOAP和WSDL对Web Service.WCF进行深入了解的基础,因此花一些时间去了解一下是很有必要的. 一.SOAP(Simple Object Access Protocol) 如果我们要调用 ...
- LaTeX常用数学符号
之前在写博客做笔记时经常会在Word或WPS里写好数学公式再截图上传,一直觉得这样很low.现在实在是不想再去截图上传了,于是决定开始学一下LaTeX.在博客园中使用数学公式的设置可以参考在博客园使用 ...
- Hibernate不能自动建数据表解决办法
首先自己要注意自己的MYSQL版本,然后设置对应的方言 兼容性模式 <property name="hibernate.dialect">org.hibernate.d ...
- zookeeper第二课 客户端的简单命令
zookeeper的每个节点既可以是目录也可以是文件,节点上只存一些协调数据(状态.配置.位置),单位一般是KB,大部分数据用sdfs上 只有持久化的节点才可以有子节点,临时节点不可以有自子节点. 客 ...
- 调度系统任务创建---Git部署项目(一)
有任务要上线时,需要将任务所在的项目代码从git上取出,在调度系统中编译打包,分发大任务执行服务器上. 具体的任务可以参考:http://192.168.53.100:8090/jenkins/vie ...
- DIV下的DIV居中
.ParentDIV{ display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; ...