Heim  >  Artikel  >  Backend-Entwicklung  >  最近准备用python做一个网络爬虫的毕业设计求建议?

最近准备用python做一个网络爬虫的毕业设计求建议?

不言
不言Original
2018-05-19 16:43:5215459Durchsuche

python小白,准备5个月时间做出效果。求建议比如做出来针对什么。具体做为 什么应用。流程之类的。实在是很小。白,求指点

回复内容:

做爬虫,特别是python写说容易挺容易,说难也挺难的,
举个栗子 简单的:将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的视频(图片太简单),加点噱头,多线程同时抓取不同页面的,哦,写好后记得把程序开源分享下!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn