//引用
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);
}