string asin = "";
string url = "https://www.amazon.com/product-reviews/" + asin + "/ref=cm_cr_arp_d_viewopt_srt?sortBy=recent&pageNumber=1";
string strHTML = "";
WebClient myWebClient = new WebClient();
myWebClient = new WebClient();
Stream myStream = myWebClient.OpenRead(url);
StreamReader sr = new StreamReader(myStream);
strHTML = sr.ReadToEnd();
myStream.Close();
HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
doc.LoadHtml(strHTML);
var review_NodeList = doc.DocumentNode.SelectNodes("//div[@id='cm_cr-review_list']/div[@data-hook='review']");
List<Tuple<string, double, string, string, string, string>> details = new List<Tuple<string, double, string, string, string, string>>();
foreach (var reviewNode in review_NodeList)
{
string username = reviewNode.SelectSingleNode(".//span[@class='a-profile-name']").InnerText;
string starsStr = reviewNode.SelectSingleNode(".//span[@class='a-icon-alt']").InnerText;
double stars = double.Parse(starsStr.Replace("out of 5 stars", "").Trim());
string reviewDate = reviewNode.SelectSingleNode(".//span[@data-hook='review-date']").InnerText;
string AttributeStr = reviewNode.SelectSingleNode(".//a[@data-hook='format-strip']").InnerText;
string reviewContent = reviewNode.SelectSingleNode(".//span[@data-hook='review-body']").InnerText;
string imageUrl = "";
var reviewImageNodeList = reviewNode.SelectNodes(".//img[@alt='review image']");
if (reviewImageNodeList != null && reviewImageNodeList.Count > 0)
{
foreach (var imageNode in reviewImageNodeList)
{
imageUrl += imageNode.GetAttributeValue("src", "") + ";";
}
}
details.Add(new Tuple<string, double, string, string, string, string>(username, stars, reviewDate, AttributeStr, reviewContent, imageUrl));
}
c#抓取亚马逊商品信息②review详情
最新推荐文章于 2023-04-11 14:04:41 发布