.net新手爬虫教学,简单易懂。
这两天没事研究爬虫,发现了好多处理方法,但是我用着最顺手的是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();
}
上边的代码是我爬取的亚马逊内容也得标题,店家名称,产品图片等一些数据,通过类名去搜索。简单易懂 适合一些刚入门的人看。。。。。。。。。。。。。。。。我也是刚入门,又不会的可以问我,,一起讨论,研究