使用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 攻击的生命周期,整个生命周期包括: 信息收集、攻击尝试获得权限、持久性控制、权限提升、网络信息收集、横向移动、数据分析(在这个基础上再做持久化控制...