群发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)下架的房源也可以刷新