使用python编写一个网站爬虫程序,支持参数如下:
spider.py -u url -d deep -f logfile -l loglevel(1-5)
--testself -thread number --dbfile filepath --key=”HTML5”
参数说明:
-u 指定爬虫开始地址
-d 指定爬虫深度
--thread 指定线程池大小,多线程爬取页面,可选参数,默认10
--dbfile 存放结果数据到指定的数据库(sqlite)文件中
--key 页面内的关键词,获取满足该关键词的网页,可选参数,默认为所有页面
-l 日志记录文件记录详细程度,数字越大记录越详细,可选参数,默认spider.log
--testself 程序自测,可选参数
功能描述:
1、指定网站爬取指定深度的页面,将包含指定关键词的页面内容存放到sqlite3数据库文件中
2、程序每隔10秒在屏幕上打印进度信息
3、支持线程池机制,并发爬取网页
4、代码需要详尽的注释,自己需要深刻理解该程序所涉及到的各类知识点
5、需要自己实现线程池
提示1:使用re urllib/urllib2 beautifulsoaup/lxm2 threading optparse Queue sqlite3 logger testdoc等模块
提示2:注意是“线程池”而不仅仅是多线程
提示3:爬去sina.com.cn两级深度要能正常结束
建议程序可分阶段,逐步完成编写,例如:
版本1:Spider1.py -u url -d deep
版本2:Spider3.py -u url -d deep -f logfile -l loglevel(1-5) --testself
版本3:Spider3.py -u url -d deep -f logfile -l loglevel(1-5) --testself -thread number
版本4:剩下所有功能
以上题目事实上也是知道创宇技术岗位内部题目,入职第一周会再次考本题目,完不成将面临淘汰。
你可以通过看书、上网查资料、请教高人等任何方法完成,时间不限。
分享到:
相关推荐
关于知道创宇 知行合一 | 守正出奇 知道创宇是一家黑客文化浓厚的安全公司,愿景是让互联网更好更安全 本技能表为知道创宇研发工程师的技能树集合,是的,很庞大 聪明的人,会根据每个tip自驱动扩展 不聪明的人,...
知道创宇研发技能表v3.0主要探讨了一个黑客文化浓厚的安全公司,即知道创宇,研发工程师应具备的技能体系。该技能表不仅是一份技能清单,更是一种关于研发工程师思维方式与工作方法的引导文档。 首先,知道创宇这家...
网络安全学习路径
知道创宇kcon WEB安全沙龙议题PPT 知道创宇kcon WEB安全沙龙议题PPT
【腾讯联合知道创宇发布APP更新防劫持服务】 在移动应用开发领域,安全问题始终是开发者关注的重点。近期,腾讯与知道创宇合作推出了针对APP更新的防劫持服务,旨在解决用户在进行APP更新时可能遭遇的安全风险。这...
知道创宇&腾讯-FP50优秀网络安全解决方案白皮书-2019.7-145页.pdf
1、序 2、商业推广 3、无敌的商业心理学 4、再见营销引流 5、这是个什么鬼 6、互动式心理学 7、常规性总结
《知道创宇代码审计与渗透测试内部培训教材》是一份深度涵盖网络安全领域的珍贵资源,旨在提升从业人员对安全世界观的理解,并提供代码审计与渗透测试的专业知识。这份教材包含了多个主题,如"我的安全世界观"、...
知道创宇漏洞社区由三部分组成,分别是KCon、Sebug以及ZoomEye,简称KSZ。 KCon,是知道创宇打造的每年一次的追求干货有趣的黑客大会,是一个线下的平台,旨在挖掘年轻黑客,给大家提供平台秀出自己的能力、研究成果...
【标题】"知道创宇爬虫题目.zip" 涉及到的是一个关于网络爬虫的实践项目,由知名安全公司知道创宇提供。在这个项目中,你将有机会学习和运用Python编程语言来构建网络爬虫,从而实现对特定网页数据的自动化抓取。 ...
知道创宇运维审计堡垒机系统客户端
知道创宇区块链安全风险白皮书.pdf
知道创宇-乔小松-IoT安全攻防实践
2018年网络空间安全形势分析 网络安全发展与挑战 2018年网络安全的发展,离不开攻防之间的对抗。大型漏洞爆发后的安全应急,类似于与时间赛跑,进入了一个白热化的阶段。在这一年中,诸多因素对网络空间安全产生了...
在此背景下,知道创宇CEO赵伟在接受采访时,强调了网络安全的重要性,并对当前网络安全形势给出了深入分析。赵伟认为,现在面对的网络安全威胁具有高纬度的特征,即安全攻击来源于复杂的网络攻击模式,这使得即便是...
创新、创业与责任——知道创宇CEO赵伟谈网络安全.pdf
知道创宇&腾讯-FP50优秀网络安全解决方案白皮书-2019.7-145页.rar
亚信java笔试题 RedTeam 信息收集 项目简介 一个 Red Team 攻击的生命周期,整个生命周期包括: 信息收集、攻击尝试获得权限、持久性控制、权限提升、网络信息收集、横向移动、数据分析(在这个基础上再做持久化控制...