爬虫思维
- 先遍历抓取所有相关链接
- 再判断链接有效性
例子一:【Python】多线程网站死链检测工具
思路:
线程管理器
爬虫线程按照广度优先爬取链接
检测线程用来检测爬取的链接
爬过的链接如果正常不用再检测,否则需要再检测
设计点:
1. 考虑设置线程数、爬取深度;
2. 处理链接超时,设置超时访问次数;
3. 保存爬取链接集合,检测时设置未访问链接集合,不重复检测;
4. 记录日志,生成文件;
5. 爬虫线程,采用广度优先算法。
例子二:站点链接有效性检查的python脚本
思路:
根据response内的a标签
遍历获取所有页面链接,包括图片、js、css链接
检测返回值是否为200
设计点:
1. 缺点:单线程和未设置爬取深度导致程序运行效率低且可能无法自行结束循环遍历;
2. 输出csv日志表格文件;
3. 考虑检测url,以及图片、js、css链接;
4. 进行链接分类,过滤掉站外链接;
5. 可设置登录配置;
6. 可设置邮件通知。