/// <summary>

/// 生成新闻

/// </summary>

/// <param name="sender"></param>

/// <param name="e"></param>

protected void btnAdd_Click(object sender, EventArgs e)

{

int incount1 = 0;//成功插入的条数

int incount2 = 0;//

int incount3 = 0;//

int incount4 = 0;//

int incount5 = 0;//

var str = getHTTPPage("http://news.chinawutong.com/xwkx/lydt/", "lanmuname", "pagelist", 46, 86); //陆运

incount1 = matchA(str, "http://news.chinawutong.com/", 4);//4表示公路运输咨询

var strzx = getHTTPPage("http://news.chinawutong.com/xwkx/zxzx/", "lanmuname", "pagelist", 46, 86);//最新

incount2 = matchA(strzx, "http://news.chinawutong.com/", 2);//

var strhot = getHTTPPage("http://news.chinawutong.com/ztrw/zdsj/", "lanmuname", "pagelist", 46, 86);//热点

incount3 = matchA(strhot, "http://news.chinawutong.com/", 3);//

var strxxh = getHTTPPage("http://news.chinawutong.com/xwkx/xxhzx/", "lanmuname", "pagelist", 46, 86);//信息化

incount4 = matchA(strxxh, "http://news.chinawutong.com/", 5);//

var strss = getHTTPPage("http://news.chinawutong.com/wtzl/ssrd/", "lanmuname", "pagelist", 46, 86);//时事

incount5 = matchA(strss, "http://news.chinawutong.com/", 6);//

int incount = incount1 + incount2 + incount3 + incount4 + incount5; //生成总条数

ShowInfo("本次成功生成共 " + incount + " 条.公路运输 " + incount1 + " 条.最新资讯 " + incount2 + " 条.物流热点 " + incount3 + " 条.物流信息化 " + incount4 + " 条.时事热点 " + incount5 + " 条.");

}

/// <summary>

/// 匹配A标签

/// </summary>

/// <param name="teststr"></param>

/// <returns></returns>

public int matchA(string teststr, string preurl, int categoryID)

{

MatchCollection mc = Regex.Matches(teststr, "<a.+?href=\"(.+?)\".*>(.+)</a>");

int incount = 0;//成功插入的条数

//匹配组序号从0开始

for (int i = 0; i < mc.Count; i++)

{

//先MatchCollection序列中取出match,然后进行输出

Match match = mc[i];

if (match != null)

{

if (i < 20)

{

if (newsService.GetAll().Where(n => n.Title == match.Groups[2].Value).Count() < 1)

{

incount++;

var _news = new model.News();

//如果数据库里没有这个标题则插入

_news.Title = match.Groups[2].Value;

_news.NewsContent = preurl + match.Groups[1].Value;

_news.CreateDate = DateTime.Now;

_news.UpdateDate = DateTime.Now;

_news.IsLink = 1;

_news.CategoryID = categoryID;//

_news.OriginateID = 2;//表示来源

newsService.Add(_news);

}

}

}

}

newsService.Save(); //最后保存

return incount; //返回条数

}

/// <summary>

/// 获取新闻html

/// </summary>

/// <param name="url"></param>

/// <param name="starts"></param>

/// <param name="ends"></param>

/// <param name="startnum"></param>

/// <param name="endnum"></param>

/// <returns></returns>

public string getHTTPPage(string url, string starts, string ends, int startnum, int endnum)

{

//string url = "http://news.chinawutong.com/xwkx/lydt/";     //想要抓取的页面的地址

HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(url);

HttpWebResponse webResponse = (HttpWebResponse)webRequest.GetResponse();

//webRequest.UserAgent = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.2; .NET CLR 1.1.4322; .NET CLR 2.0.50727; InfoPath.1) Web-Sniffer/1.0.24 ";

Stream stream = webResponse.GetResponseStream();

System.IO.StreamReader streamReader = new StreamReader(stream, System.Text.Encoding.GetEncoding("gb2312"));

string content = streamReader.ReadToEnd();

streamReader.Close();

webResponse.Close();

int start = content.IndexOf(starts) + startnum;

int end = content.IndexOf(ends) - endnum;

content = content.Substring(start, (end - start));

return content;

}

asp.net新闻采集(wyz)相关推荐

  1. asp版新闻发布今日弄好

    感谢组长帮忙弄好了新闻发布的删除功能,组长自己那么多事,而且又是凌晨二点,仍过来帮我解决问题.太感激了.... 最近特别忙,也让我多了些怨天尤人的感慨.其实还是自己的原因,如果我能力足够强的话,会轻松 ...

  2. 新闻数据采集php,PHP新闻采集在线源码

    PHP新闻采集在线源码可以高效采集新闻网站内容,由于它是一种可以在服务器端执行的嵌入HTML文档的脚本语言,所以它支持在UNIX.LINUX.WINDOWS等系统下运行,而且消耗的系统资源很少. PH ...

  3. 基于Python(Django)+MongoDB实现的(Web)新闻采集和订阅系统【100010319】

    本科生毕业论文(设计) 基于网络爬虫的新闻采集和订阅系统的设计与实现 [摘 要] 随着互联网的迅速发展,互联网大大提升了信息的产生和传播速度,网络上每天都会产生大量的内容,如何高效地从这些杂乱无章的内 ...

  4. 今日头条新闻采集爬虫分享

    神箭手云爬虫如何采集今日头条新闻 -神箭手云爬虫 -一站式云端通用爬虫开发平台24小时不停机 多样化采集网页内容,快速产生大量而优质的内容,操作简单,无需专业知识. 1.打开神箭手云爬虫官网 2.创建 ...

  5. 【毕业设计_课程设计】基于网络爬虫的新闻采集和订阅系统的设计与实现(源码+论文)

    文章目录 0 项目说明 1 项目说明 2 系统需求 3 系统架构 4 效果展示 5 论文目录 6 项目工程 0 项目说明 基于网络爬虫的新闻采集和订阅系统的设计与实现 提示:适合用于课程设计或毕业设计 ...

  6. 华尔街见闻下操作mysql_GitHub - boshengw-shzq/reainl: 华尔街见闻和新浪财经新闻采集...

    华尔街和新浪财经新闻采集文档 一.技术选型 1.requests作为爬虫程序处理网络请求的框架 2.Beautiful作为解析网页的dom解析器 3.数据库用postgresql,自动化测试工具使用的 ...

  7. 免费新闻采集工具之免费采集伪原创发布工具方法分享

    新闻采集工具注重内容质量.白帽SEO的重点是做好内容质量,为用户提供有价值的原创内容是关键.以上都没问题的话我们就可以用这款免费新闻采集工具实现自动采集伪原创发布以及主动推送给搜索引擎,操作简单不需要 ...

  8. java 新闻采集系统_基于Java技术的新闻采集器设计与实现

    基于 Java 技术的新闻采集器设计与实现 赵敏涯 ; 华英 ; 吴笛 ; 黄鹏 ; 赵明明 [期刊名称] <电脑编程技巧与维护> [年 ( 卷 ), 期] 2019(000)004 [摘 ...

  9. 【开源】开发者新闻APP+新闻Restful服务+博客园新闻采集程序+infoq新闻采集程序+36kr新闻采集程序+oschina新闻采集程序+51cto新闻采集程序+csdn新闻采集程序...

    这几天车子跟别人撞了,水箱撞稀烂了,要坐一个星期的公车 实在太无聊,就抽时间搞了这么个APP出来,打发公车上的时光 (开发者头条里的新闻专业性太强,公车上实在无法静心研读) 我经常看的也就博客园.in ...

最新文章

  1. [CTO札记]高效能辅导(Coach)转摘
  2. oracle删除表中数据_Excel工作表中,删除重复数据的2种方法解读,高效且实用!...
  3. android app功能测试,androidAPP功能测试要点幻灯片.pptx
  4. 提交太多oracle,急!!请教 用文本域向数据库oracle提交不了太多文字如何解决??...
  5. Nginx+tomcat整合
  6. mysql %3cforeach_RCTF 2020 Writeup
  7. python计算程序运行时间毫秒_Python获取秒级时间戳与毫秒级时间戳方法
  8. java mysql体检管理系统源码
  9. 避坑11_VScode在vue文件内template无法使用tab补齐标签
  10. 两个服务器微信消息模板发不出去,小程序模板消息调用send大部分情况下发送不出去,但有时又可以发送,什么情况?...
  11. 【股票】股票是什么?什么情况下股票会涨?
  12. mr.baidu.com百度官方缩短网址接口网站调用生成制作方法解析
  13. 计算机内存卡插哪里,电脑内存卡在哪个位置
  14. 一些开源的项目 收藏
  15. vue3代码检查以及格式化配置
  16. html语言hr ,HTML hr是什么意思?
  17. 国外工业互联网安全现状分析(政策;标准;厂商;产品)
  18. 兴趣爱好页面.html,兴趣筛选页面.html
  19. 现代化医院PACS/RIS系统概述
  20. HttpGet和HttpPost的区别

热门文章

  1. html 拉伸幕,html 对 div 进行 拉伸 拖拽
  2. 转特权:NIOS2下的SDHC调试
  3. 模型预测控制(MPC)解析(七):约束控制问题的表述
  4. Macchanger-更改mac地址
  5. 【Qt Quick】零基础入门系列之安装与卸载(一)
  6. 截止频率的估算-例题
  7. 基于卷积神经网络 CNN 的猫狗识别详细过程
  8. H5:使用video标签在页面中插入视频
  9. 怎么把多个图片转成一个文字版的Word呢
  10. K-divisible Sum