我試圖從網站上刮取產品名稱。奇怪的是,我似乎只是隨機抽取了12件物品。我已經嘗試HtmlAgilityPack和HTTPClient,並得到相同的隨機結果。這裏是我的HtmlAgilityPack代碼:HtmlAgilityPack和Selenium Webdriver返回隨機結果
using HtmlAgilityPack;
using System.Net.Http;
var url = @"http://www.roots.com/ca/en/men/tops/shirts-and-polos/";
HtmlWeb web = new HtmlWeb();
var doc = web.Load(url, "GET", proxy, new NetworkCredential(PROXY_UID, PROXY_PWD, PROXY_DMN));
var nodes = doc.DocumentNode.Descendants("div")
.Where(div => div.GetAttributeValue("class", string.Empty) == "product-name")
.Select(div => div.InnerText.Trim())
;
[更新1] @CodingKuma建議我嘗試硒的webdriver。這裏是我的代碼使用Selenium Webdriver:
IWebDriver chromeDriver = new ChromeDriver(@"C:\TEMP\Projects\Chrome\chromedriver_win32");
chromeDriver.Url = "http://www.roots.com/ca/en/men/tops/shirts-and-polos/";
var items = chromeDriver.FindElements(By.ClassName("product-name"));
items.Count().Dump();
chromeDriver.Quit();
我試過這段代碼,但仍然沒有運氣。該頁面上有超過20個項目,但我似乎只能得到一個隨機12.我怎樣才能颳去該網站上的所有項目?
嘗試不同的用戶代理?其他人是否加載了ajax? –
由於該頁面以滾動方式加載,刮板不是人。 –
@ DanielA.White您推薦哪些其他代理商? –