昨天主管突然找我,说月底有个游戏要发新补丁,但是没有新增部分的资料,找到一个网站却不知道怎么下载到我们的数据库中.
我看了一下,网页为了防抓取,都是用js来生成内容,不过还是让我找到具体位置,所有物品有3万多,需要的还要过滤,有用的只有3千多,人工来做几乎不太现实的,于是写了一个winform来抓它的信息来写到数据库中
动作在DocumentCompleted事件中完成.



        private const string SQL_DATA = "select * from Table1";
        private const string SQL_INSERT_1 = "insert into Table1 (WebID,Name,NeedLevel,Content) values (";
        private const string Sql_INSERT_2 = ")";c#抓取浏览器网页代码数据(winform)       
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
        }

 取得物品名称和等级:

c#抓取浏览器网页代码数据(winform)        private string GetName(string mydocument)
        }


无法判断浏览器是否完成加载,所以用timer控件来完成:

c#抓取浏览器网页代码数据(winform)        private const int START_ID = 1;
c#抓取浏览器网页代码数据(winform)        
private const int END_ID = 40000;//32999;
c#抓取浏览器网页代码数据(winform)
        private static int ID = 1;
c#抓取浏览器网页代码数据(winform)
c#抓取浏览器网页代码数据(winform)        
private void timer1_Tick(object sender, EventArgs e)
        }

timer的interval控制在1000ms,40000条数据用了11个多小时,从昨天晚上10点到今天早上,刚来的时候看到数据全都乖乖的在数据库呆着了.呵呵,搞定,交差...

相关文章:

  • 2021-09-30
  • 2022-12-23
  • 2021-05-04
  • 2021-11-30
  • 2021-08-19
  • 2022-12-23
  • 2021-12-09
  • 2021-12-13
猜你喜欢
  • 2022-12-23
  • 2021-09-06
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-02-25
相关资源
相似解决方案