用winform写的一个网页论坛抓取程序,根据选择的关键字和时间对论坛新闻进行筛选,用的多线程,抓取到3万多条数据后就变的很慢。。几分钟还不抓取一个,代码里应该没有涉及到死锁吧,程序还能工作,刚开始抓取的速度也不算慢。线程下只是用了sleep让耗时的线程让出时间片,是这个原因还是其他的什么??
你要是天天抓的话人家会封你IP的,就搞个单线程抓算了,抓一个sleep 300ms 然后抓的时候定个超时时间,一个抓不到就往下抓
楼上说的不错,当时我在上家公司的时候,那个搜索程序就是用了4个IP轮流从百度谷歌等网站上抓新闻。
写一些日志,看问题出在哪里。
网络问题?记录每个线程从抓到解析内容的时间,看是你这边问题还是他那边问题。
还是数据库越来越大了?
你抓取的服务器承受不了吧