这两天没事研究爬虫,发现了好多处理方法,但是我用着最顺手的是Nsoup这个包。
下面给大家分享一下我在亚马逊上爬取的数据。我是用的webForm写的,用winForm是一样的。今天给打加分享一下我写的代码。希望得到打什么的指点。
System.Net.CookieContainer testcookie = new System.Net.CookieContainer(); protected void Button1_Click(object sender, EventArgs e) { string htnmStr = GetPost.Get(this.TbUrl.Text.Trim(), testcookie, Encoding.UTF8); this.TbCode.Text = htnmStr; }
上面是下载整个网页信息的,这种代码网上有很多开源的,我这里是自己写了一个类。
protected void Button2_Click(object sender, EventArgs e) { NSoup.Nodes.Document htmlDoc = NSoup.NSoupClient.Parse(this.TbCode.Text); NSoup.Select.Elements ele = NSoup.NSoupClient.Parse(TbCode.Text).GetElementsByClass("s-result-item"); System.Text.StringBuilder sb = new StringBuilder(); sb.Append("<ul>"); for (int i = 0; i < ele.Count; i++) { string xingji = ele[i].Select(".a-icon-alt").Html(); string shuliang=ele[i].Select(".a-span5").Select(".a-spacing-mini").Select("a").Select(".a-size-small").Html(); Regex reg = new Regex("[1-9]\\d*.\\d*|0.\\d*[1-9]\\d*"); Match match = reg.Match(xingji); Regex reg1 = new Regex("^\\d+(,\\d+)*$"); Match match1 = reg1.Match(shuliang); sb.Append("<li>标题:" + ele[i].Select(".a-size-medium").Html() + "</br>产品图片:" + ele[i].Select(".s-access-image").Attr("src") + "</br>卖家名称:" + ele[i].Select(".a-fixed-left-grid-col").Select("span").Eq(1).Html() + "</br>主图地址:" + ele[i].Select(".a-link-normal").Attr("href") + "</br>星级:" + match + "</br>评价数量:" + match1 + " </br>ASIN:" + ele[i].Attr("data-asin") + "<li>"); } sb.Append("</ul>"); TbElement.Text = sb.ToString(); }
上边的代码是我爬取的亚马逊内容也得标题,店家名称,产品图片等一些数据,通过类名去搜索。简单易懂 适合一些刚入门的人看。。。。。。。。。。。。。。。。我也是刚入门,又不会的可以问我,,一起讨论,研究
时间: 2024-11-07 09:45:23