vs2010MVC爬-虫虫S博客_某年某月_新浪博客

//引用
using HtmlAgilityPack;

public ActionResult js_blogsn()
{
xdfDataContext dt_xdf = new xdfDataContext();
ResDataMsg rs = new ResDataMsg();
try
{
HtmlWeb htmlWeb = new HtmlWeb();
htmlWeb.OverrideEncoding = Encoding.GetEncoding("utf-8");
HtmlDocument htmlDoc = htmlWeb.Load("http://blog.xxx.com.cn/s/articlelist_xxx_0_1.html");
string xpath = "//div[@class='articleList']//div[@class='articleCell SG_j_linedot1']";
HtmlNodeCollection _div1 = htmlDoc.DocumentNode.SelectNodes(xpath);
for (int i = 0; i < _div1.Count; i++)
{
var _p = getNode(_div1[i]).SelectNodes("//p[@class='atc_main SG_dot']//span[@class='atc_title']");
var _url = getNode(_p[0]).SelectNodes("//a");
if (_url != null)
{
string _myzw = "";
var _href = _url[0].Attributes["href"].Value;
var _fid = _href.Replace("http://", "");
var _f2 = _fid.Split('/');
_fid = _f2[_f2.Length - 1];
_fid = _fid.Split('.')[0].Split('_')[1].Trim();

var _xbl = dt_xdf.uBlog_sw.FirstOrDefault(s => s.fid == _fid);
if (_xbl!=null)
{
break;
}

string currPath = string.Format("~/Content/swpic/{0}/", _fid);
if (!System.IO.Directory.Exists(Server.MapPath(currPath)))
{
System.IO.Directory.CreateDirectory(Server.MapPath(currPath));
}
HtmlWeb hm2 = new HtmlWeb();
hm2.OverrideEncoding = Encoding.GetEncoding("utf-8");
HtmlDocument hdoc2 = hm2.Load(_href);
string xph2 = "//div[@class='SG_connBody']//div[@class='articalTitle']//h2";
var _fbt = hdoc2.DocumentNode.SelectNodes(xph2)[0].InnerText;
xph2 = "//div[@class='SG_connBody']//div[@id='sw_keyword_ad_area2']//div";
HtmlNodeCollection _div2 = hdoc2.DocumentNode.SelectNodes(xph2);
var _nr = getNode(_div2[0]).SelectNodes("//p");
int i_pic = 0;
foreach (var pic in _nr)
{
var _box = pic.Attributes["img-box"];
if (_box==null)
{
_myzw += string.Format("{0}{1}", pic.OuterHtml, System.Environment.NewLine);
}
else
{
var _img = getNode(pic).SelectNodes("//img");
if (_img!=null)
{
var rurl = _img[0].Attributes["real_src"].Value;
var rpic = get_picurl(rurl);
//_img[0].SetAttributeValue("src", rpic);
//_img[0].SetAttributeValue("real_src", rpic);
i_pic++;
string pic_name = string.Format("{0}_{1}.png", _fid, i_pic);
pic_name = currPath + pic_name;
string yun_picurl = string.Format(@"{0}{1}", "https://www.xxx.com", pic_name.Replace("~",""));
_img[0].SetAttributeValue("src", yun_picurl);
_img[0].SetAttributeValue("real_src", yun_picurl);
rpic.Save(Server.MapPath(pic_name));
}
_myzw += string.Format(@"

{0}

{1}", _img[0].OuterHtml, System.Environment.NewLine);
}
}
var _zw = _myzw;
uBlog_sw bl = new uBlog_sw();
bl.fbt = _fbt;
bl.fid = _fid;
bl.fnr = _zw;
bl.ftime = DateTime.Now;
//var _xbl = dt_xdf.uBlog_sw.FirstOrDefault(s => s.fid == _fid);
if (_xbl==null)
{
dt_xdf.uBlog_sw.InsertOnSubmit(bl);
dt_xdf.SubmitChanges();
rs.code = "1";
rs.data = bl;
}
}
}
}
catch (Exception ex)
{
rs.code = "0";
rs.data = ex.Message;
}
return Json(rs, JsonRequestBehavior.AllowGet);
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值