WhitePages
Project:
Ezy.Module.Selenium.Search.WhitePagesFile chính:WhitePages.cs+WhitePages_Winform.cs(logic thật trongSearchWinform.cs— Share)
Tra cứu danh bạ điện thoại / địa chỉ doanh nghiệp trên WhitePages (site công khai).
Nguồn
- Site:
whitepages.com.au(cấu hìnhWebsiteSetting_NotRunning.json; cũng strip prefix này trong code). Runtime URL lấy từsetting.URL(DBWebsiteSetting). - Lưu ý:
Configs/WhitePages/Setting.jsonđặt URL =google.com(placeholder, không phải URL chạy thật).
Hai entry-point
| Class | Cơ chế |
|---|---|
WhitePages | Selenium ChromeDriver thuần — chỉ chụp screenshot, không bóc field chi tiết |
WhitePages_Winform | EO.WebBrowser WinForm — bản đang dùng (vì WebsiteSetting.IsWinform=false), bóc đầy đủ field |
Input
Bảng TextSearch_WhitePages qua db.Get_TextSearch_WhitePages(), lọc !IsDisable và TypeSearch == SimpleSearch; lọc thêm ids[].
| Cột | Vai trò |
|---|---|
Name | Nhập field businessQueryField |
Location | Nhập field businessLocationQueryField |
TextSearch_Data | Lưu link kết quả |
Selector field-name lấy từ Configs/WhitePages/MoreSetting.json.
Login / Captcha
Không.
Các bước scrape (SearchWinform.cs, bản Winform)
StartSearchAndDownload: nạplistTextSearch, builddict_Data(key =LinkSearch), gọiwinform.GoToURL().GoToURL()→LoadUrl(setting.URL).SendValueAndClickSearchToInputWebsite: nhập Name rồi Location, click SearchButton.CalcDetail():querySelectorAll(ListSearchResult)đếm số kết quả →detailFounds; nếu là promoted listing thìdetailFounds--,pos++.MoveToDetail(): với từng kết quả, bóc trướcName/BusinessName/Location, rồi click vào trang chi tiết.GetDataFromWebsite():LinkSearch = Path.GetFileName(url);GetDetailData()bócContact(p.phone-number-text) vàMoreInfo→ListDataJson;TakeScreenshot_Winformlưu{linkSearch}.jpg; setImageURLs.- Upsert:
dict_DatacóLinkSearch→Update_WhitePages_Data, ngược lạiInsert_WhitePages_Data;TextSearch_Data = join(";", listDetail).
Output
Entity TextSearch_Data_WhitePages. Trường: Name, BusinessName, Location, LinkSearch (slug từ URL), LinkToDetail, ListDataJson (Contact + MoreInfo), ImageURLs. Screenshot .jpg; không PDF.
Lỗi / edge cases
- Không có data search →
AddActionLog("WhilePages", "Can't find search data"). - Name rỗng →
SearchStatus = "...Name column must have value". - Không có kết quả →
detailFounds=0→SearchStatus = "...No detail found". - Insert input thất bại / exception →
AddActionLog+Log_Exception; lỗi giữa chừng →SearchStatus = "Search Fail At...".
Trạng thái: active (bản Winform).