public void HienThi() { ThongTinTimKiem timkiem = new ThongTinTimKiem(); if (ckbSach.Checked) { timkiem.TENSACH = txtSach.Text; } if (ckbTacGia.Checked) { timkiem.TENTG = txtTacGia.Text; } if (ckbNXB.Checked) { timkiem.MANXB = Convert.ToInt32(cbNXB.EditValue); } if (ckbTheLoai.Checked) { timkiem.MATHELOAI = Convert.ToInt32(cbTheLoai.EditValue); } if (ckbNamXB.Checked) { cbNamXB.Properties.NullText = "2016"; timkiem.NAMXB = Int32.Parse(cbNamXB.Text); } if (ckbGia.Checked) { timkiem.giaMAX = Decimal.Parse(txtGiaMax.Text); timkiem.giaMIN = Decimal.Parse(txtGiaMin.Text); } gridControlTimKiem.DataSource = timkiemBus.GetData(timkiem); }
private Task TimKiemTask(ThongTinTimKiem param, CancellationToken token) { return(Task.Run(() => { int dem = 0; _danhSach = new BindingList <ThongTinTaiKhoan>(); XuLyDaLuong.ChangeText(lblTrangThaiTimKiem, "Đang nhận dữ liệu...", Color.Red); foreach (var kq in _guiTinNhan.TimKiem(param)) { if (token.IsCancellationRequested) { break; } if (!_danhSach.Select(p => p.Id).Contains(kq.Id)) { _danhSach.Add(kq); Debug.WriteLine($"{kq.Id} - {kq.TaiKhoan}"); XuLyDaLuong.ChangeText(lblSoLuongKetQua, string.Format("Số lượng kết quả: {0}", ++dem), Color.Black); } } XuLyDaLuong.ChangeText(lblTrangThaiTimKiem, "Hoàn tất tìm kiếm", Color.Green); thongTinTaiKhoan_TimKiemBindingSource.DataSource = _danhSach; btnTimKiem.Text = "Tìm kiếm (F3)"; lblSoLuongKetQua.Text = "Số lượng kết quả: " + thongTinTaiKhoan_TimKiemBindingSource.Count.ToString(); btnTimKiem.BackColor = Color.FromArgb(255, 255, 128); })); }
public async Task <IEnumerable <ThongTinTaiKhoan> > TimKiemAll(ThongTinTimKiem param) { Log.WriteLog(_fileLog, "Bắt đầu tìm kiếm ehenho..."); List <ThongTinTaiKhoan> res = new List <ThongTinTaiKhoan>(); int pageindex = 1; HtmlDocument document = new HtmlDocument(); string linkNoiO = $"https://www.ehenho.com{param.NoiO}";// $"https://www.ehenho.com{tinhtrang.Id}"; int countTry = 0; while (true) { try { Debug.WriteLine($"Trang {pageindex}----------------------------------"); Log.WriteLog(_fileLog, $"Trang {pageindex}----------------------------------"); HttpWebResponse response = RequestToWeb.GET(new Uri(linkNoiO), false, true, this.Cookie) as HttpWebResponse; string htmlText = RequestToWeb.ReadStream(response.GetResponseStream()); document.LoadHtml(htmlText); var bangKetQua = document.DocumentNode.QuerySelectorAll("#pro_info");// res.AddRange(await Task.WhenAll(bangKetQua.Select(p => TimKiemTaiKhoan(param, p)))); TimThayKetQua?.Invoke(res.Where(p => p != null)); //Tạo link trang tiếp if (htmlText.Contains($"?page={pageindex + 1}")) { linkNoiO = $"https://www.ehenho.com{param.NoiO}?page={++pageindex}"; } else if (htmlText.Contains($"?trang={pageindex + 1}")) { linkNoiO = $"https://www.ehenho.com{param.NoiO}?trang={++pageindex}"; } else { break; } if (param.DungTimKiem) { break; } countTry = 0; } catch (Exception ex) { if (countTry++ >= 20) { break; } Log.WriteLog(_fileLog, $"Lỗi {ex.Message}\r\n{ex.StackTrace}"); } } Debug.WriteLine($"Kết thúc tìm kiếm tại {param.NoiO}, trang {pageindex}"); Log.WriteLog(_fileLog, $"Kết thúc tìm kiếm tại {param.NoiO}, trang {pageindex}"); return(res); }
public DataTable GetData(ThongTinTimKiem timkiem) { SqlParameter[] para = { new SqlParameter("tenSach", timkiem.TENSACH), new SqlParameter("tenTacGia", timkiem.TENTG), new SqlParameter("maNXB", timkiem.MANXB), new SqlParameter("maTheLoai", timkiem.MATHELOAI), new SqlParameter("namXb", timkiem.NAMXB), new SqlParameter("giaMin", timkiem.giaMIN), new SqlParameter("giaMax", timkiem.giaMAX) }; return(base.GetData("SACH_SEARCH", para)); }
public List <HopLong_LocNCCtheotukhoa_Result> GetNCCTheoTuKhoa(ThongTinTimKiem timkiem) { if (timkiem.tukhoa == null) { var query = db.Database.SqlQuery <HopLong_LocNCCtheotukhoa_Result>("HopLong_LocNCCtheotukhoa @manv, @macongty, @isadmin, @tukhoa", new SqlParameter("manv", timkiem.manv), new SqlParameter("macongty", timkiem.macongty), new SqlParameter("isadmin", timkiem.isadmin), new SqlParameter("tukhoa", DBNull.Value)); var result = query.ToList(); return(result); } else { var query = db.Database.SqlQuery <HopLong_LocNCCtheotukhoa_Result>("HopLong_LocNCCtheotukhoa @manv, @macongty, @isadmin, @tukhoa", new SqlParameter("manv", timkiem.manv), new SqlParameter("macongty", timkiem.macongty), new SqlParameter("isadmin", timkiem.isadmin), new SqlParameter("tukhoa", timkiem.tukhoa)); var result = query.ToList(); return(result); } }
private async Task TimKiemTask(ThongTinTimKiem param, CancellationToken token) { await Task.Run(() => { try { int dem = 0; _danhSach = new BindingList <ThongTinTaiKhoan>(); XuLyDaLuong.ChangeText(lblTrangThaiTimKiem, "Đang nhận dữ liệu...", Color.Red); foreach (var kq in _guiTinNhan.TimKiem(param)) { if (kq == null) { continue; } if (token.IsCancellationRequested) { break; } if (!_danhSach.Select(p => p.Id).Contains(kq.Id) || (_guiTinNhan is TimBanGai && !string.IsNullOrEmpty(kq.TenHienThi))) { _danhSach.Add(kq); XuLyDaLuong.ChangeText(lblSoLuongKetQua, string.Format("Số lượng kết quả: {0}", ++dem), Color.Black); if (token.IsCancellationRequested) { break; } } } } catch { } }); //Thread.Sleep(1000); XuLyDaLuong.ChangeText(lblTrangThaiTimKiem, "Hoàn tất tìm kiếm", Color.Green); btnTimKiem.Enabled = true; thongTinTaiKhoan_TimKiemBindingSource.DataSource = _danhSach; btnTimKiem.Text = "Tìm kiếm (F3)"; lblSoLuongKetQua.Text = "Số lượng kết quả: " + thongTinTaiKhoan_TimKiemBindingSource.Count.ToString(); btnTimKiem.BackColor = Color.FromArgb(255, 255, 128); }
public IEnumerable <ThongTinTaiKhoan> TimKiem(ThongTinTimKiem param) { HtmlDocument doc = new HtmlDocument(); foreach (var cm in param.ChuyenMucs) { string url = $"{cm.UrlChuyenMuc}?sort=dateline&order=desc"; string html = RequestToWeb.GET(new Uri(url), false, true, this.Cookie).ReadStream(); doc.LoadHtml(html); var threads = doc.GetElementbyId("threads").QuerySelectorAll("li"); foreach (var thread in threads) { var ctn_auTypPost = thread.QuerySelectorAll("div > div > div > ul > li"); if (ctn_auTypPost.Count() > 2) { var nameAuPost = ctn_auTypPost.ElementAt(0);// thread.QuerySelector("div > div > div > ul > li"); if (nameAuPost != null) { yield return(new ThongTinTaiKhoan() { Id = nameAuPost.InnerHtml.Substring("?u=", "')"), TaiKhoan = nameAuPost.InnerText, }); if (param.TimNguoiMoiBinhLuan) { var newRplSub = ctn_auTypPost.ElementAt(1); yield return(new ThongTinTaiKhoan() { Id = newRplSub.InnerHtml.Substring("?u=", "&"), TaiKhoan = newRplSub.QuerySelector("strong")?.InnerText, }); } } } } } }
public DataTable GetListAllStore(ThongTinTimKiem tttk) { return(this.ExeStore("sp_NhatKiThueBao_GetAll_v2", tttk.SoXe)); // DieuCuocHangEntity }
public DataTable GetData(ThongTinTimKiem obj) { return(dao.GetData(obj)); }
/// <summary> /// Lay tat ca cac cuoc thue bao tuyen /// V3 co them địa chỉ trả trong thông tin tìm kiếm /// </summary> /// <param name="vung"></param> /// <param name="ismaytinh"></param> /// <param name="tttk"></param> /// <returns></returns> public List <TaxiOperation_Truck> GetAllByLine_Vung_ThueBaoTuyen_V3(string vung, int ismaytinh, ThongTinTimKiem tttk) { return(ExeStore("SP_T_TAXIOPERATION_TRUCK_LayAllOfVungChoPhep_ThueBaoTuyen_v3", vung, ismaytinh, tttk.SoXe, tttk.DienThoai, tttk.DiaChi, tttk.DiaChiTra, tttk.IsAllLine_Vung).ToList <TaxiOperation_Truck>()); }
public IEnumerable <ThongTinTaiKhoan> TimKiem(ThongTinTimKiem param) { int offset = 1; while (true) { #region Tạo reqeuest var uri = new UriBuilder("http://duyenso.com/search_results.php"); var query = HttpUtility.ParseQueryString(uri.Query); query["offset"] = offset.ToString(); query["set_filter"] = "1"; query["country"] = "236"; //Việt Nam query["city"] = "0"; //huyện=0=> cả tỉnh query["state"] = param.NoiO.ToString(); //tỉnh query["radius"] = "50"; query["i_am_here_to"] = "1"; if ((int)param.GioiTinh != -1) { query["p_orientation[]"] = param.GioiTinh.ToString(); //Giới tính } else //Tất cả { query["p_orientation[]"] = "1"; for (int i = 2; i <= 4; i++) { query["p_orientation[]"] += string.Format("&p_orientation[]={0}", i.ToString()); } } query["p_age_from"] = param.TuTuoi.ToString(); query["p_age_to"] = param.DenTuoi.ToString(); if (param.HonNhan.Count >= 1) { query["p_status[]"] = param.HonNhan.FirstOrDefault().Id.ToString(); for (int i = 1; i < param.HonNhan.Count; i++) { query["p_status[]"] += string.Format("&p_status[]={0}", param.HonNhan[i].Id.ToString()); } } query["with_photo"] = "1"; if (param.TimNguoiOnline) { query["status"] = "online"; } if (param.TimNguoiMoiDangKy) { query["status"] = "new"; } uri.Query = query.ToString(); HttpWebRequest request = WebRequest.CreateHttp(HttpUtility.UrlDecode(uri.Uri.ToString())); request.Method = "POST"; StreamWriter sw = new StreamWriter(request.GetRequestStream()); sw.Write("ajax=1"); sw.Close(); var response = request.GetResponse(); #endregion #region Lấy dữ liệu using (StreamReader sr = new StreamReader(response.GetResponseStream())) { string content = sr.ReadToEnd(); //content = File.ReadAllText("DataHtmlTest.txt"); content = HttpUtility.HtmlDecode(content); HtmlAgilityPack.HtmlDocument document = new HtmlAgilityPack.HtmlDocument(); document.LoadHtml(content); IEnumerable <HtmlNode> hasFloatClass = document.DocumentNode.Descendants("div").Where(div => div.HasClass("filter_result")); string filter_result = hasFloatClass.FirstOrDefault().OuterHtml; document.LoadHtml(filter_result); var bangKetQua = document.DocumentNode.Descendants("div").Where(div => div.HasClass("item")); for (int i = 0; i < bangKetQua.Count(); i++) { ThongTinTaiKhoan taiKhoan = new ThongTinTaiKhoan(); var kq = bangKetQua.ElementAt(i); try { var link = kq.QuerySelector("div > a").GetAttributeValue("href", ""); var tenHienThi = kq.QuerySelector("div").GetAttributeValue("title", ""); taiKhoan.Id = new string(link.Where(p => char.IsDigit(p)).ToArray()); taiKhoan.Url = string.Format("http://duyenso.com/search_results.php?display=profile&uid={0}&ref=spotlight", taiKhoan.Id); var thongTin = tenHienThi.Split(','); taiKhoan.GioiTinh = param.OtherParam[0].ToString(); taiKhoan.TenHienThi = thongTin[0].Trim(); taiKhoan.Tuoi = thongTin[1].Trim().ConvertToInt32(); taiKhoan.NoiO = thongTin[2].Trim(); } catch { taiKhoan = null; } if (taiKhoan != null) { yield return(taiKhoan); } if (param.DungTimKiem) { break; } } if (bangKetQua.Count() <= 0) { break; } } #endregion if (param.DungTimKiem) { break; } offset += 20; } }
public IEnumerable <ThongTinTaiKhoan> TimKiem(ThongTinTimKiem param) { foreach (var hn in param.HonNhan) { int page = 1; while (true) { #region Tạo reqeuest string linkTimKiem = string.Format("?page={0}&gioitinh={1}&tuoi1={2}&tuoi2={3}&dentu={4}&honnhan={5}&muctieu=Tất cả&nuoc=Vietnam&btn_submit=", page, param.GioiTinh, param.TuTuoi, param.DenTuoi, param.NoiO, hn.Id); Log.WriteLog(_fileLog, $"Tìm {linkTimKiem}"); linkTimKiem = "https://henhoketban.vn/timnguoiyeuonline.php" + linkTimKiem; var response = RequestToWeb.GET(new Uri(linkTimKiem), false); #endregion #region Lấy dữ liệu string sKQTimKiem = RequestToWeb.ReadStream(response); sKQTimKiem = HttpUtility.HtmlDecode(sKQTimKiem); HtmlAgilityPack.HtmlDocument document = new HtmlAgilityPack.HtmlDocument(); document.LoadHtml(sKQTimKiem); var results_search2 = document.DocumentNode.QuerySelectorAll("div#maincontent > table"); if (results_search2.Count() <= 7) { break; } foreach (var v in results_search2) { ThongTinTaiKhoan tk = new ThongTinTaiKhoan(); var hangThongTin = v.QuerySelectorAll("tr > td"); if (hangThongTin.Count() >= 3) { var ten_gioiTinh_tuoi_honNhan = hangThongTin.ElementAt(1).QuerySelectorAll("h3").ElementAt(0); tk.TenHienThi = ten_gioiTinh_tuoi_honNhan.QuerySelectorAll("font").ElementAt(0).InnerText; tk.GioiTinh = ten_gioiTinh_tuoi_honNhan.QuerySelectorAll("font").ElementAt(1).InnerText; tk.TinhTrangHonNhan = ten_gioiTinh_tuoi_honNhan.QuerySelectorAll("font").ElementAt(2).InnerText; string tuoi = string.Join("", ten_gioiTinh_tuoi_honNhan.InnerText.Where(p => p >= '0' && p <= '9')); int iTuoi = 0; int.TryParse(tuoi, out iTuoi); tk.Tuoi = iTuoi; var duongDan = hangThongTin.ElementAt(0).QuerySelector("a"); tk.Url = "https://henhoketban.vn/" + duongDan.GetAttributeValue("href", ""); tk.Id = tk.Url.Split('=')[1]; tk.NoiO = hangThongTin.ElementAt(0).QuerySelectorAll("center > font").ElementAt(0).InnerText; if (param.ThoiGianDangNhap.HasValue) { try { var thongTinThoiGianDangNhap = v.QuerySelectorAll("tr > td > p > font").ElementAt(1).InnerHtml; var thoiGianDangNhap = LayThoiGian(thongTinThoiGianDangNhap.Substring(0, thongTinThoiGianDangNhap.IndexOf("<")).TrimAll()); if (!thoiGianDangNhap.HasValue || thoiGianDangNhap.Value > param.ThoiGianDangNhap) { tk = null; } Debug.WriteLine($"{thongTinThoiGianDangNhap.Substring(0, thongTinThoiGianDangNhap.IndexOf("<")).TrimAll()} = {thoiGianDangNhap}, {((!thoiGianDangNhap.HasValue || thoiGianDangNhap.Value > param.ThoiGianDangNhap) ? "loại" : "nhận")}"); } catch { } } if (tk != null) { yield return(tk); } } else { } if (param.DungTimKiem) { break; } } #endregion if (param.DungTimKiem) { break; } page++; Log.WriteLog(_fileLog, $"Chuyển page tìm kiếm"); } Log.WriteLog(_fileLog, $"Hoàn tất tìm kiếm"); } }
public IEnumerable <ThongTinTaiKhoan> TimKiemAsync(ThongTinTimKiem param) { throw new NotImplementedException(); }
public IEnumerable <ThongTinTaiKhoan> TimKiem(ThongTinTimKiem param) { #region Tạo request NameValueCollection formData = new NameValueCollection(); formData.Add("type_id", "members"); formData.Add("gender2", "1"); formData.Add("gender1", param.GioiTinh.ToString()); formData.Add("age_from", param.TuTuoi.ToString()); formData.Add("age_to", param.DenTuoi.ToString()); formData.Add("country", "212"); formData.Add("city", param.NoiO.ToString()); if (param.HonNhan.FirstOrDefault().Id.ToString() != "-1") { formData.Add("livingsituation[]", string.Format("{0}", string.Join("&livingsituation[]=", param.HonNhan.Select(p => p.Id.ToString())))); } formData.Add("username", ""); formData.Add("online_only", "0"); formData.Add("pictures_only", "0"); formData.Add("display_type", "1"); formData.Add("search_save", ""); formData.Add("submit", "Gởi"); formData.Add("issearch", "1"); string timKiem_data = formData.ConvertToUrlEncode(); var timKiem_Response = RequestToWeb.POST(new Uri("http://www.timbangai.com/timbangai/search/advanced/"), null, timKiem_data, false, false); var headers = RequestToWeb.ReadHeader(timKiem_Response); string timKiem_string = RequestToWeb.ReadStream(timKiem_Response); string timKiem_location = timKiem_Response.Headers[HttpResponseHeader.Location]; #endregion if ((timKiem_Response as HttpWebResponse).StatusCode == HttpStatusCode.Found) { int page = 1; while (true) { string timKiem_link = string.Format("{0}{1}", timKiem_location, page); timKiem_Response = RequestToWeb.GET(new Uri(timKiem_link), false); timKiem_string = RequestToWeb.ReadStream(timKiem_Response); //string timKiem_string = File.ReadAllText("DataHtmlTest.txt"); HtmlAgilityPack.HtmlDocument document = new HtmlAgilityPack.HtmlDocument(); document.LoadHtml(HttpUtility.HtmlDecode(timKiem_string)); var bangKetQua = document.DocumentNode.QuerySelectorAll("div#content").FirstOrDefault(); var danhSachKetQua = bangKetQua.Descendants("div").Where(div => div.HasClass("image")); if (danhSachKetQua.Count() == 0) { break; } foreach (var kq in danhSachKetQua) { ThongTinTaiKhoan tk = new ThongTinTaiKhoan(); var ten_tuoi = kq.InnerText.Trim().Split(','); tk.TenHienThi = ten_tuoi[0]; tk.Tuoi = ten_tuoi[ten_tuoi.Count() - 1].ConvertToInt32(); tk.Url = kq.QuerySelector("a").GetAttributeValue("href", ""); tk.GioiTinh = param.OtherParam[0].ToString(); tk.TinhTrangHonNhan = param.OtherParam[1].ToString(); #region Lấy ID Task.Run( () => { var thongTinNguoiNhanThu_Response = RequestToWeb.GET(new Uri(tk.Url), false); string thongTinNguoiNhanThu_string = RequestToWeb.ReadStream(thongTinNguoiNhanThu_Response); HtmlAgilityPack.HtmlDocument thongTinNguoiNhanThu_document = new HtmlAgilityPack.HtmlDocument(); if (!string.IsNullOrEmpty(thongTinNguoiNhanThu_string)) { thongTinNguoiNhanThu_document.LoadHtml(thongTinNguoiNhanThu_string); var thongTinNguoiNhanThu_message = thongTinNguoiNhanThu_document.DocumentNode.Descendants("li").Where(div => div.HasClass("message")).FirstOrDefault(); string thongTinNguoiNhanThu_Url = thongTinNguoiNhanThu_message.QuerySelector("a").GetAttributeValue("href", ""); tk.Id = thongTinNguoiNhanThu_Url.Split('/')[7]; } }); #endregion yield return(tk); if (param.DungTimKiem) { break; } } if (param.DungTimKiem) { break; } page++; } } }
public IEnumerable <ThongTinTaiKhoan> TimKiem(ThongTinTimKiem param) { int pageindex = 1; while (true) { #region Tạo reqeuest var uri = new UriBuilder("https://www.vietnamcupid.com/"); WebResponse response; if (pageindex == 1) { uri = new UriBuilder("https://www.vietnamcupid.com/vi/results/search?searchtype=1"); string data = string.Format("resulttype=advanced&gender_w={0}&age_min={1}&age_max={2}", param.GioiTinh, param.TuTuoi, param.DenTuoi); data += string.Format("&countryLive=230&stateLive={0}", param.NoiO); foreach (var hn in param.HonNhan) { data += string.Format("&maritalStatus={0}", hn.Id); } data += "&cityLive=-1&searchingFor=-1&resetCurrency=VND&distanceUnit=kms&gender=254"; response = RequestToWeb.POST(uri.Uri, this.Cookie, data, false, true); } else { uri = new UriBuilder(string.Format("https://www.vietnamcupid.com/vi/results/search?pageno={0}", pageindex)); response = RequestToWeb.GET(uri.Uri, false, false, this.Cookie); } #endregion #region Lấy dữ liệu using (StreamReader sr = new StreamReader(response.GetResponseStream())) { string content = sr.ReadToEnd(); //string content = File.ReadAllText("DataHtmlTest.txt"); content = HttpUtility.HtmlDecode(content); HtmlAgilityPack.HtmlDocument document = new HtmlAgilityPack.HtmlDocument(); document.LoadHtml(content); var bangKetQua = document.DocumentNode.QuerySelectorAll("div#memberships > div").ToList(); for (int i = 0; i < bangKetQua.Count; i++) { ThongTinTaiKhoan taiKhoan = new ThongTinTaiKhoan(); var memberpicgeneric = bangKetQua[i].QuerySelectorAll("div > div > p"); if (memberpicgeneric.Count() < 2) { continue;//Quảng cáo } var hdg1 = memberpicgeneric.ElementAt(0).QuerySelector("a"); var hdg2 = memberpicgeneric.ElementAt(1); if (memberpicgeneric != null) { string duongDan = hdg1.GetAttributeValue("href", ""); if (!string.IsNullOrEmpty(duongDan)) { try { var tmpUri = new Uri("https://www.vietnamcupid.com" + duongDan); string id = tmpUri.Segments[tmpUri.Segments.Count() - 1]; var tenTuoi = hdg1.InnerHtml.Split('(', ')').Where(p => !string.IsNullOrEmpty(p)).ToList(); string ten = tenTuoi[0]; string tuoi = tenTuoi[tenTuoi.Count - 1];//lấy tuổi cuối cùng string noiO = ""; if (hdg2.ChildNodes.Count >= 1) { noiO = hdg2.ChildNodes[1].InnerText.TrimAll(); } else { try { var tmp = bangKetQua[i].QuerySelectorAll("div > div").FirstOrDefault(); noiO = tmp.ChildNodes[2].InnerText.TrimAll(); } catch { } } taiKhoan.Url = string.Format("https://www.vietnamcupid.com/vi/profile/showProfile/ID/{0}", id); taiKhoan.Id = id; taiKhoan.TenHienThi = ten.Trim(); taiKhoan.ChoPhepGuiNhan = true; taiKhoan.Tuoi = tuoi.ConvertToInt32(); taiKhoan.GioiTinh = param.OtherParam[0].ToString(); taiKhoan.NoiO = noiO; taiKhoan.TinhTrangHonNhan = param.OtherParam[1].ToString(); } catch//(Exception ex) { taiKhoan = null; } if (taiKhoan != null) { yield return(taiKhoan); } if (param.DungTimKiem) { break; } } } } //Test: break; if (bangKetQua.Count <= 1) { break; } } #endregion if (param.DungTimKiem) { break; } pageindex++; } }
public DataTable TONGDAI_LayCuocGoiDaGiaiQuyet(string vung, int start, int end, ThongTinTimKiem tttk) { return(this.ExeStore("V3_TONGDAI_spT_TAXIOPERATION_KETTHUC_LayDSCuocKetThuc_v3", vung, start, end, tttk.DienThoai, tttk.DiaChi, tttk.DiaChiTra)); }
public IEnumerable <ThongTinTaiKhoan> TimKiem(ThongTinTimKiem param) { Log.WriteLog(_fileLog, "Bắt đầu tìm kiếm henho2..."); foreach (var tinhtrang in param.HonNhan) { int pageindex = 1; while (true) { #region Tạo reqeuest var uri = new UriBuilder("https://henho2.com/Home/Index"); var query = HttpUtility.ParseQueryString(uri.Query); query["gtinh"] = param.GioiTinh.ToString(); query["countryid"] = "237";//Việt Nam query["province"] = param.NoiO.ToString(); query["maritial"] = tinhtrang.Id.ToString(); query["objective"] = "-1"; query["ageFrom"] = param.TuTuoi.ToString(); query["ageTo"] = param.DenTuoi.ToString(); query["name"] = ""; query["pageindex"] = pageindex.ToString(); uri.Query = query.ToString(); Log.WriteLog(_fileLog, $"Truy vấn {uri.Uri.ToString()}"); var response = RequestToWeb.GET(uri.Uri, false); //var response = RequestToWeb.GET(new Uri("http://localhost:8081/"), false); #endregion Log.WriteLog(_fileLog, $"Truy vấn xong {uri.Uri.ToString()}"); #region Lấy dữ liệu //using (StreamReader sr = new StreamReader(response.GetResponseStream())) //{ string content = RequestToWeb.ReadStream(response); // sr.ReadToEnd(); //content = File.ReadAllText("C:\\Users\\ngochoaitn\\Desktop\\new2.html"); //content = HttpUtility.HtmlDecode(content); if (content == null) { content = ""; } HtmlAgilityPack.HtmlDocument document = new HtmlAgilityPack.HtmlDocument(); document.LoadHtml(content); //Bảng có 24 hàng, trong đó 20 hàng dữ liệu, 1 hàng header, 2 hàng quảng cáo, 1 hàng footer var bangKetQua2 = document.DocumentNode.QuerySelectorAll("table > tbody > tr").ToList(); if (bangKetQua2 == null || bangKetQua2.Count <= 1)//hết dữ liệu { break; } Log.WriteLog(_fileLog, "Lấy bảng kết quả"); bool continueAll = true; for (int i = 0; i < bangKetQua2.Count; i++) { var tableData = bangKetQua2[i].QuerySelectorAll("td"); if (tableData.Count() != 2) { continue; } continueAll = false; var td1 = tableData.ElementAt(0); var td2 = tableData.ElementAt(1); ThongTinTaiKhoan taiKhoan = new ThongTinTaiKhoan(); var tenHienThi = td1.QuerySelector("a"); if (tenHienThi != null) { string duongDan = tenHienThi.GetAttributeValue("href", ""); if (!string.IsNullOrEmpty(duongDan)) { try { int id = Convert.ToInt32(duongDan.Split('/')[3]); string[] ten_gioitinh_tuoi = td2.InnerText.Split('\n'); string ten = td1.InnerText.Trim(); string gioiTinh = ten_gioitinh_tuoi[2]?.Trim(); string tuoi = ten_gioitinh_tuoi[4].Trim().Replace(" -", ""); taiKhoan.Url = string.Format("https://henho2.com{0}", duongDan); taiKhoan.Id = duongDan.Split('/')[3]; taiKhoan.TenHienThi = ten.Trim(); taiKhoan.ChoPhepGuiNhan = true; taiKhoan.Tuoi = tuoi.ConvertToInt32(); taiKhoan.GioiTinh = gioiTinh; taiKhoan.NoiO = ten_gioitinh_tuoi[12].Trim(); taiKhoan.TinhTrangHonNhan = ten_gioitinh_tuoi[6].Trim(); //Thời gian đăng nhập if (param.ThoiGianDangNhap.HasValue) { HtmlAgilityPack.HtmlDocument docThongTinCaNhan = new HtmlAgilityPack.HtmlDocument(); var thongTinCaNhan = RequestToWeb.ReadStream(RequestToWeb.GET(new Uri(taiKhoan.Url), false)); if (thongTinCaNhan != null) { docThongTinCaNhan.LoadHtml(thongTinCaNhan); var bangThongTin = docThongTinCaNhan.DocumentNode.QuerySelectorAll("table > tbody > tr").ToList(); var thoiGianDangNhap = bangThongTin?.FirstOrDefault(p => p.InnerText?.ToLower()?.Contains("đăng nhập") ?? false); if (thoiGianDangNhap != null && !string.IsNullOrEmpty(thoiGianDangNhap.InnerText)) { try { DateTime thoiGianDangNhapganNhat = Convert.ToDateTime(thoiGianDangNhap.InnerText.ToLower().Replace("đăng nhập", "").TrimAll()); if ((DateTime.Now - thoiGianDangNhapganNhat).TotalMinutes > param.ThoiGianDangNhap) { taiKhoan = null; } } catch { } } else { taiKhoan = null; } } else { taiKhoan = null; } } } catch (Exception ex) { taiKhoan = null; Log.WriteLog(_fileLog, $"Truy vấn xong {ex.Message}"); } if (taiKhoan != null) { yield return(taiKhoan); } } } if (param.DungTimKiem) { break; } } if (continueAll) { break; } // } #endregion if (param.DungTimKiem) { break; } pageindex++; Log.WriteLog(_fileLog, $"Next trang {pageindex}"); } } }
private Task <ThongTinTaiKhoan> TimKiemTaiKhoan(ThongTinTimKiem param, HtmlNode kq) { return(Task.Run <ThongTinTaiKhoan>(() => { ThongTinTaiKhoan tk = new ThongTinTaiKhoan(); try { string log = $"{DateTime.Now.ToString("HH:mm:ss")} -> "; var thongTinKq = kq.QuerySelector("p"); var spanKq = thongTinKq?.QuerySelectorAll("span"); var ten_tuoi_tinhTrang = spanKq.ElementAt(0); var ten_tuoi_tinh_trang_a = ten_tuoi_tinhTrang?.QuerySelectorAll("a"); var ten = ten_tuoi_tinh_trang_a.ElementAt(0); tk.TenHienThi = ten.InnerText; tk.Url = $"https://www.ehenho.com{ten.GetAttributeValue("href", "")}"; tk.Id = tk.Url?.Split(new[] { "/" }, StringSplitOptions.RemoveEmptyEntries)?.Last(); tk.Tuoi = ten_tuoi_tinhTrang.InnerText.Split(new[] { " " }, StringSplitOptions.RemoveEmptyEntries)?.ElementAt(1)?.Trim()?.ConvertToInt32(); if (string.IsNullOrEmpty(tk.Id) || tk.Tuoi == null || tk.Tuoi > param.DenTuoi || tk.Tuoi < param.TuTuoi) { Debug.WriteLine($"{log}{DateTime.Now.ToString("HH:mm:ss")} Faild (không đủ tuổi: {tk.Tuoi})"); return null; } #region Tỉnh trạng hôn nhân tk.TinhTrangHonNhan = ten_tuoi_tinh_trang_a.ElementAt(1)?.InnerText; if (!param.HonNhan.Select(p => p.TenTinhTrang).Contains("Tất cả") && !param.HonNhan.Select(p => p.Id).Contains(ten_tuoi_tinh_trang_a.ElementAt(1).GetAttributeValue("href", ""))) { if (tk.GioiTinh != param.GioiTinh.ToString()) { Debug.WriteLine($"{log}{DateTime.Now.ToString("HH:mm:ss")} Faild (Tình trạng hôn nhân: {tk.TinhTrangHonNhan})"); return null; } } #endregion Tình trạng hôn nhân #region Nơi ở var noiO = spanKq.ElementAt(1); var noiO_a = noiO.QuerySelectorAll("a"); List <string> diaChi = new List <string>(); for (int i = 1; i < noiO_a.Count(); i++) { diaChi.Add(noiO_a.ElementAt(i).InnerText); } tk.NoiO = string.Join(", ", diaChi); #endregion Nơi ở #region Giới tính (có thể lấy thông tin qua cách này luôn cho dễ với đầy đủ) tk.GioiTinh = "Tất cả"; if (param.GioiTinh.ToString() != "Tất cả" || param.ThoiGianDangNhap.HasValue) { HtmlDocument docChiTiet = new HtmlDocument(); string html = RequestToWeb.ReadStream(RequestToWeb.GET(new Uri(tk.Url), false, true, this.Cookie)); int countTry = 0; while (string.IsNullOrEmpty(html) && countTry++ < 3) { Log.WriteLog(_fileLog, $"TimKiemTaiKhoan() Thử lại {tk?.Url}"); html = RequestToWeb.ReadStream(RequestToWeb.GET(new Uri(tk.Url), false, true, this.Cookie)); } if (string.IsNullOrEmpty(html)) { return null; } docChiTiet.LoadHtml(html); var allRow = docChiTiet?.DocumentNode?.QuerySelectorAll("table > tr"); if (param.GioiTinh.ToString() != "Tất cả") { tk.GioiTinh = allRow?.ElementAt(6)?.QuerySelectorAll("td")?.Last()?.InnerText?.Split(' ')?.First(); if (tk.GioiTinh != param.GioiTinh.ToString()) { Debug.WriteLine($"{log}{DateTime.Now.ToString("HH:mm:ss")} Faild (Giới tính: {tk.GioiTinh})"); return null; } } if (param.ThoiGianDangNhap.HasValue) { try { DateTime thoiGianDangNhapganNhat = Convert.ToDateTime(allRow?.ElementAt(allRow.Count() - 2)?.QuerySelectorAll("td")?.Last()?.InnerText?.Replace(".", "")); if ((DateTime.Now - thoiGianDangNhapganNhat).TotalMinutes > param.ThoiGianDangNhap) { Debug.WriteLine($"{log}{DateTime.Now.ToString("HH:mm:ss")} Faild (Thời gian đăng nhập: {thoiGianDangNhapganNhat.ToString("dd/MM/yyyy HH:mm")})"); return null; } } catch { } } } #endregion Giới tính Debug.WriteLine($"{log}{DateTime.Now.ToString("HH:mm:ss")} OK: {tk.Url}"); return tk; } catch (Exception ex) { Log.WriteLog(_fileLog, $"Lỗi TimKiemTaiKhoan({tk?.Url}) {ex.Message}\r\n{ex.StackTrace}"); return null; } })); }
public IEnumerable <ThongTinTaiKhoan> TimKiem(ThongTinTimKiem param) { return(this.TimKiemAll(param).Result); }
public IEnumerable <ThongTinTaiKhoan> TimKiem(ThongTinTimKiem param) { int page = 1; int numTry = 0; while (true) { #region Tạo reqeuest var uri = new UriBuilder("http://likeyou.vn/vi/searchs"); var query = HttpUtility.ParseQueryString(uri.Query); #region Giới tính switch (param.GioiTinh.ToString()) { case "1": query["men"] = "1"; break; case "2": query["woman"] = "2"; break; case "-1": query["men"] = "1"; query["woman"] = "1"; break; } #endregion query["agefrom"] = param.TuTuoi.ToString(); query["ageto"] = param.DenTuoi.ToString(); if (param.NoiO.ToString() != "-1") { query["district"] = param.NoiO.ToString(); } query["country"] = "1";//Việt Nam; query["type"] = "advanced"; query["relationship"] = string.Join("-", param.HonNhan.Select(p => p.Id.ToString())); if (page >= 2) { query["page"] = page.ToString(); } uri.Query = query.ToString(); var response = RequestToWeb.GET(uri.Uri, false); #endregion #region Lấy dữ liệu string sKQTimKiem = RequestToWeb.ReadStream(response); sKQTimKiem = HttpUtility.HtmlDecode(sKQTimKiem); if (string.IsNullOrEmpty(sKQTimKiem)) { if (numTry++ < 10) { continue; } else { break; } } HtmlAgilityPack.HtmlDocument document = new HtmlAgilityPack.HtmlDocument(); document.LoadHtml(sKQTimKiem); var results_search2 = document.DocumentNode.Descendants("div").Where(div => div.HasClass("item-search-content-left")); if (results_search2.Count() < 1) { break; } foreach (var v in results_search2) { var infousearchg = v.Descendants("div").Where(div => div.HasClass("infousearchg")).FirstOrDefault(); var item_provice = v.Descendants("div").Where(div => div.HasClass("item-provice")).FirstOrDefault(); string link = infousearchg.QuerySelector("a").GetAttributeValue("href", ""); string id = link.Split('=')[1]; string tuoi = "", ten = ""; var gioiTinh = infousearchg.Descendants("i").FirstOrDefault(); string sGioiTinh = ""; if (gioiTinh != null && gioiTinh.GetAttributeValue("class", "") != null) { sGioiTinh = gioiTinh.GetAttributeValue("class", ""); } if (infousearchg != null) { var ten_tuoi = infousearchg.InnerText.Split(','); ten = ten_tuoi[0].Trim(); tuoi = ten_tuoi[ten_tuoi.Count() - 1].Trim(); } string noiO = item_provice.InnerText.Trim(); ThongTinTaiKhoan tk = new ThongTinTaiKhoan(); tk.Tuoi = tuoi.ConvertToInt32(); tk.TenHienThi = ten; tk.NoiO = noiO; tk.GioiTinh = sGioiTinh != "" ? (sGioiTinh == "men" ? "Nam" : "Nữ") : param.OtherParam[0].ToString(); tk.TinhTrangHonNhan = param.OtherParam[1].ToString(); tk.Url = link; tk.Id = id; yield return(tk); if (param.DungTimKiem) { break; } } #endregion if (param.DungTimKiem) { break; } page++; } }
public IEnumerable <ThongTinTaiKhoan> TimKiem(ThongTinTimKiem param) { foreach (var hn in param.HonNhan) { int page = 1; while (true) { #region Tạo reqeuest var uri = new UriBuilder("http://docthan.com/results.php"); var query = HttpUtility.ParseQueryString(uri.Query); query["fg"] = param.GioiTinh.ToString(); //find gen query["af"] = param.TuTuoi.ToString(); //age from query["at"] = param.DenTuoi.ToString(); //age to query["m"] = hn.Id.ToString(); //Marital query["c"] = "230"; //country, vietnam=230 query["st"] = param.NoiO.ToString(); //street?? query["o"] = "0"; //? query["t"] = "0"; //?type if (page != 1) { query["p"] = page.ToString(); //page } uri.Query = query.ToString(); HttpWebRequest request = WebRequest.CreateHttp(uri.Uri); request.Method = "GET"; var response = request.GetResponse(); #endregion #region Lấy dữ liệu using (StreamReader sr = new StreamReader(response.GetResponseStream())) { string content = sr.ReadToEnd(); //content = File.ReadAllText("DataHtmlTest.txt"); content = HttpUtility.HtmlDecode(content); HtmlAgilityPack.HtmlDocument document = new HtmlAgilityPack.HtmlDocument(); document.LoadHtml(content); IEnumerable <HtmlNode> hasFloatClass = document.DocumentNode.Descendants("div").Where(div => div.HasClass("filter_result")); document.LoadHtml(hasFloatClass.FirstOrDefault().OuterHtml); var bangKetQua = document.DocumentNode.Descendants("div").Where(div => div.HasClass("item")); for (int i = 0; i < bangKetQua.Count(); i++) { ThongTinTaiKhoan taiKhoan = new ThongTinTaiKhoan(); var kq = bangKetQua.ElementAt(i); try { var link = kq.QuerySelector("div > a").GetAttributeValue("href", ""); var tenHienThi = kq.QuerySelector("div").GetAttributeValue("title", ""); taiKhoan.Id = new string(link.Where(p => char.IsDigit(p)).ToArray()); taiKhoan.Url = string.Format("http://duyenso.com/search_results.php?display=profile&uid={0}&ref=spotlight", taiKhoan.Id); var thongTin = tenHienThi.Split(','); taiKhoan.GioiTinh = param.OtherParam[0].ToString(); taiKhoan.TenHienThi = thongTin[0].Trim(); taiKhoan.Tuoi = thongTin[1].Trim().ConvertToInt32(); taiKhoan.NoiO = thongTin[2].Trim(); } catch { taiKhoan = null; } if (taiKhoan != null) { yield return(taiKhoan); } } if (bangKetQua.Count() <= 0) { break; } } #endregion page++; } } }