Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
            }));
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
 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);
     }
 }
Esempio n. 6
0
        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=", "&amp"),
                                    TaiKhoan = newRplSub.QuerySelector("strong")?.InnerText,
                                });
                            }
                        }
                    }
                }
            }
        }
 public DataTable GetListAllStore(ThongTinTimKiem tttk)
 {
     return(this.ExeStore("sp_NhatKiThueBao_GetAll_v2", tttk.SoXe)); // DieuCuocHangEntity
 }
Esempio n. 9
0
 public DataTable GetData(ThongTinTimKiem obj)
 {
     return(dao.GetData(obj));
 }
Esempio n. 10
0
 /// <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>());
 }
Esempio n. 11
0
        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");
            }
        }
Esempio n. 13
0
 public IEnumerable <ThongTinTaiKhoan> TimKiemAsync(ThongTinTimKiem param)
 {
     throw new NotImplementedException();
 }
Esempio n. 14
0
        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++;
                }
            }
        }
Esempio n. 15
0
        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++;
            }
        }
Esempio n. 16
0
 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));
 }
Esempio n. 17
0
        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}");
                }
            }
        }
Esempio n. 18
0
        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[] { "&nbsp;" }, 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;
                }
            }));
        }
Esempio n. 19
0
 public IEnumerable <ThongTinTaiKhoan> TimKiem(ThongTinTimKiem param)
 {
     return(this.TimKiemAll(param).Result);
 }
Esempio n. 20
0
        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++;
            }
        }
Esempio n. 21
0
        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++;
                }
            }
        }