群发Yes515总结

0,登录

(1)指定url,domain,准备好post数据;返回member.html登录成功。

1,发售房和发租房:

(1)httpclient.GetString()返回信息是本页空表单,没有"发布成功",“sucess"等标识,Header["Location"]也不存在,因此通过在房源列表页查找标题识别(找到了就是发布成功)。

(2)确定发布成功后,列表页的第一个就是新发布的房源,用正则表达式取出webid,入库。

2,刷新:

(1)同样没有提示,通过拿到刷新房源的更新时间(使用正则该房源地址后的刷新时间),如果与本地保存时间相差小于10分钟,提示刷新成功。否则提示等10分钟之后重新刷新。

(2)post数据需要所有该列表也webid,通过正则表达式获取。

View Code
 #region 输入input匹配pattern的第index分组,输出所有匹配项
        /// <summary>
        /// 输入input匹配pattern的第index分组,输出所有匹配项   
        /// </summary>
        /// <param name="input">输入字符源</param>
        /// <param name="pattern">正则模式</param>
        /// <param name="index">第几个分组(分组用小括号)</param>
        /// <returns>所有匹配项</returns>
        public static List<string> MatchStrings(string input, string pattern, int index = 0)
        {
            List<string> list = new List<string>();
            System.Text.RegularExpressions.Regex regex = new System.Text.RegularExpressions.Regex(pattern);
            System.Text.RegularExpressions.Match match = regex.Match(input);
            //循环匹配
            while (match.Success)
            {
                list.Add(match.Groups[index].ToString());
                match = match.NextMatch();//匹配下一个
            }
            return list;
        }
        #endregion

3,修改房源:

(1)比发布房源多一个webid,也是通过在列表页查找标题来判断(修改只修改标题和内容)

4,下架

(1)通过房源标题前面[]中的文字判断,如果是已下架,那么下架成功。

5,重发

(1)使用正则表达式找标题,如果前面是 [已上架]  ,说明成功,否则失败

 

 * 备注:这个网站逻辑比较复杂
 * (1)发布成功之后在响应中找不到信息
 * (2)第一次刷新没有响应,第二次提示5分钟之后刷新
 * (3)下架的房源还可以显示,而且下架的与没有下架的在同一个页面
 * (4)刷新,上架,下架,都需要把当页所有的webid发送过去,而且响应信息都是本页面
 * (5)下架的房源也可以刷新

posted @ 2012-11-28 11:45  金河  阅读(132)  评论(0编辑  收藏  举报