c#爬虫时爬取大量数据结果内容丢失了,用的时responseStream

weixin_41300688 2018-05-05 03:27:35
代码如下:
for(int i=0;i<10;i++)
{
string url = "https://www.lagou.com/jobs/4520267.html";
Console.WriteLine(url);

HttpWebRequest request = HttpWebRequest.CreateHttp(url);
request.UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36";
request.Referer = "https://www.lagou.com/jobs/list.net?city=%E5%85%A8%E5%9B%BD&cl=false&fromSearch=true&labelWords=&suginput=";
request.KeepAlive = true;
request.Method = "POST";

HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream getData = response.GetResponseStream();
string sr = new StreamReader(getData).ReadToEnd();

Console.WriteLine(sr);
拜托大家了.
...全文
859 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_41300688 2018-05-10
  • 打赏
  • 举报
回复
引用 2 楼 Flashcom的回复:
你所为的错是什么,这个代码没有错,这样不会丢失,返回的内容不同是因为你访问太快服务器那边会判断你是爬虫和非法请求,所以返回错误信息的,想快速访问同一个地址,最好用代理
谢谢,确实是这样的。我是用thread.sleep弄好的。 还有一个问题,就是正则表达式匹配很远的两处字符。我用的是或方法。但是匹配的速度大大减弱。 麻烦您了。
weixin_41300688 2018-05-10
  • 打赏
  • 举报
回复
string getJson = "https://www.lagou.com/jobs/positionAjax.json?px=default&needAddtionalResult=false&pn=" + i + "&kd=.net"; string Jpattern=@"\[{|'companyShortName':'(.*?)'|'workYear':'(.*?)'|'education':'(.*?)'|" + "'city':'(.*?)'|'salary':'(.*?)'|'companyFullName':'(.*?)'".Replace(" ","").Replace("'","\""); var match = Regex.Matches(GetUrl.GetData(getJson), Jpattern); foreach (Match m in match) { if(!string.IsNullOrEmpty(m.Groups[1].Value)) { Console.Write(m.Groups[1].Value + ","); sw.Write(m.Groups[1].Value+","); } if (!string.IsNullOrEmpty(m.Groups[2].Value)) { Console.WriteLine(m.Groups[2].Value); sw.Write(m.Groups[2].Value+"\r\n"); } ..... ... 一共匹配6处怎么才能提高速度呢?
Flashcom 2018-05-06
  • 打赏
  • 举报
回复
你所为的错是什么,这个代码没有错,这样不会丢失,返回的内容不同是因为你访问太快服务器那边会判断你是爬虫和非法请求,所以返回错误信息的,想快速访问同一个地址,最好用代理
weixin_41300688 2018-05-05
  • 打赏
  • 举报
回复
循环50次就错了,10次没错,不过丢失了重要数据

110,529

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧