这段时间对网络爬虫比较感兴趣,实现起来实际上比较简单。无非就是http的web请求,然后对返回的html内容进行内容筛选。本文的重点不在于这里,而在于多线程做http请求。例如我要实现如下场景:我有N个对象集合,需要通过http的方式获取每个对象的相关信息。废话不多说,直接上代码
实现方式一:依次循环遍历对象集合,这种方式最为普通
for (int i = 0; i < videoInfoList.Count; i++) { //普通方式 directRun(videoInfoList[i]); } private void directRun(VideoInfo item) { var htmlStr = GetHtmlCode(item.url); item.name= getName(htmlStr); videoInfoQueue.Enqueue(item); } private static string GetHtmlCode(string url) { string htmlCode; HttpWebRequest webRequest = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(url);