Home >Backend Development >Python Tutorial >最近准备用python做一个网络爬虫的毕业设计求建议?
python小白,准备5个月时间做出效果。求建议比如做出来针对什么。具体做为 什么应用。流程之类的。实在是很小。白,求指点
做爬虫,特别是python写说容易挺容易,说难也挺难的,
举个栗子 简单的:将http://paste.ubuntu.com上面的所有代码爬下来
写个for循环,调用urllib2的几个函数就成了,基本10行到20行以内的代码
难度0
情景:
1.网站服务器很卡,有些页面打不开,urlopen直接就无限卡死在了某些页面上(2.6以后urlopen有了timeout)
2.爬下来的网站出现乱码,你得分析网页的编码
3.网页用了gzip压缩,你是要在header里面约定好默认不压缩还是页面下载完毕后自己解压
4.你的爬虫太快了,被服务器要求停下来喝口茶
5.服务器不喜欢被爬虫爬,会对对header头部浏览器信息进行分析,如何伪造
6.爬虫整体的设计,用bfs爬还是dfs爬
7.如何用有效的数据结构储存url使得爬过的页面不被重复爬到
8.比如1024之类的网站(逃,你得登录后才能爬到它的内容,如何获取cookies
以上问题都是写爬虫很常见的,由于python强大的库,略微加了一些代码而已
难度1
情景:
1.还是cookies问题,网站肯定会有一个地方是log out,爬虫爬的过程中怎样避免爬到各种Log out导致session失效
2.如果有验证码才能爬到的地方,如何绕开或者识别验证码
3.嫌速度太慢,开50个线程一起爬网站数据
难度2
情景:
1.对于复杂的页面,如何有效的提取它的链接,需要对正则表达式非常熟练
2.有些标签是用Js动态生成的,js本身可以是加密的,甚至奇葩一点是jsfuck,如何爬到这些
难度3
总之爬虫最重要的还是模拟浏览器的行为,具体程序有多复杂,由你想实现的功能和被爬的网站本身所决定
爬虫写得不多,暂时能想到的就这么多,欢迎补充
我的毕设也是爬虫,从毕设角度讲下。首先只写个爬虫是很简单的,所以要加一点噱头。比如多线程,比如智能。其次既然要做一个爬虫,要事先和导师交流下。万一导师的意思是叫你写个搜索引擎,而你写了个爬虫,那就不好了。最后,写几个页面来展示爬虫的结果,既可以增加代码量,也可以充实论文。
看scrapy文档,非常好用。
加点难度,实现个分布式的爬虫,同时要写好客户端和服务端的管理,再配合前端页面管理任务和服务器。。
网页的数据要是抓着没意思,可以抓抓APP的数据⊙▽⊙
Request+Bs4看我的签名,里面有很多案例,供你快速搞定采集,不信来辩!
我也正在写 先抓数据 再进行数据分析 最后在网页上呈现 大致这个思路
看看pyspider:binux/pyspider · GitHub
也许能找到点灵感。。
简单的爬虫不到20行就可以写出来。httplib加上正则。
毕设最重要的一个是点子,一个是技术。这两个部分可以结合,也可以互补。
如果仅仅是一个爬虫,可以从多线程,分布式这些方面考虑。谈谈性能,这方面可以说的很深,毕设也会很有营养。最后写一个漂亮的UI,妥妥的A+有木有。
如果有好的点子,实现一项或者多项特别的功能。技术上欠缺一些也OK。
毕设想要做得好,可以从两个方面考虑
1. 项目技术好,有深度
2. 项目有实际价值,就是能够应用到生活中来
所以要么你的爬虫在技术上很niubility
要么你的爬虫抓取到的数据,it's useful
当然数据本身是不会说话的,你得把数据整理、分析,最后得出结论,那你的毕设也是棒棒的了,这样在技术上差一些也没什么关系
比如爬取某liu的视频(图片太简单),加点噱头,多线程同时抓取不同页面的,哦,写好后记得把程序开源分享下!