任务编号:585337
投标任务预算1000-3000元
投标任务 : 服务商先提交报价及方案,中标后再进行任务。
我需要做一个检测网页的程序
距截止:
任务已圆满完成
雇主已托管赏金:0 元
雇主发布需求
服务商投标
雇主选标
托管赏金
验收完成
任务大厅共需1个中标方案 | 方案完成并通过雇主审核后将获得 由双方商议并由雇主托管 的金额
投诉举报
联系Ta
我来承接
已有1 个投标 | 已中标0 个 | 还需要1 个投标
任务需求:
我需要做一个检测网页的程序,主要是大量的检测带参数的链接,并且深度挖掘一层层的域名,配合数据库去重复。 1、从软件目录下的域名.txt 导入种子域名 比如a.com b.com c.com 2、访问这些种子域名,检测网页是否能正常访问(不能访问的就不管了),能访问的,则从源代码里提取内页链接比如 a.com/1/ b.com/1/ c.com/1/ 或者 /1/ 自动和域名组合起来,还有 外部链接 比如 d.com e.com/2/ f.com/3/ 这是挖掘的部分,因为挖掘的链接要继续用来检测,检测的部分的话,就是提取源码里有没有带参数的链接 比如 .html?cid=12 或者比如 .php?cid=12 这种?xxx=xxx 这种就是带参数的 然后在原来的参数上,加上5位随机字符如ooooo,再去访问 .html?cid=12ooooo,检测源码内容里是否含有 ooooo 注意:a.com/1/ b.com/1/ c.com/1/ 这三个就属于内页链接了,需要把内页能爬就爬,一个域名最好能控制爬300条内页,(这个数量自己设置,超过就不爬这个网站了)如果爬到带参数的,就检测一下。 d.com e.com/2/ f.com/3/ 这三个链接就是第二层的链接了,属于外链了,访问 d.com 爬内链检测 e.com 爬内页检测(想办法包含爬e.com/2/ f.com/3/同理) d.com e.com f.com 的外链就不爬了吧 总之就是拓展域名+检测内容,最好用数据库,检测之前,判断下这个域名是否检测过了,检测过了就不重复检测了,否则没多久就容易检测到重复的 主要就是怎么优化逻辑,能够高效的多线程抓取 ,另外 网页访问的超时时间判断的也要预留出来,比如 默认 超时超过1000毫秒的,这个域名就不继续检测了 最终我是要大批量检测出符合要求的 链接,并且都是速度快的,速度慢的已经丢弃了 采集url的时候,比如采集到下面两个链接 www.baidu.com/aaa.php?aid=555 www.baidu.com/aaa.php?aid=666 已经采集过www.baidu.com/aaa.php?aid= 检测过555了,这个666的链接直接不检测不要了 (同链接 同参数不重复检测啦) 最好做到,同一个域名,不重复检测多次,比如今天检测过了,明天采集到这个域名的就不检测了,另外,同个链接更加不要检测多次, 比如我今天检测了1万个链接,明天检测1万个链接。。。10天后可能会重复检测到今天检测过的,要过滤掉重复的不再重新检测,避免浪费时间,所以这个去重的 检测数据库这块一定要搞好。
|