本科阶段即将落幕,我本科最后一项任务毕业设计也进入尾声。
指导老师跟我说,本科毕业设计不需要创新,但是工作量一定要够,我就知道又要搞事情了。
我选择的毕业设计题目是网络爬虫与数据分析,在当下可以说很时髦,很流行。
我将我的毕业设计分为四部分。每一部分都会有具体代码与注释,也会有一些外延知识的提及与讨论,欢迎大家一起学习进步。
爬虫简单介绍
所谓爬虫就是编写代码从网页上爬取自己想要的数据,代码的质量决定了你能否精确的爬取想要得到的数据,得到数据后能否直观正确的分析。
Python无疑是所有语言中最适合爬虫的。Python本身很简单,可是真正用好它需要学习大量的第三方库插件。比如matplotlib库,是一个仿照matalab的强大的绘图库,用它可以将爬下来的数据画出饼图、折线图、散点图等等,甚至是3D图来直观的展示。
Python第三方库的安装可以手动安装,但是更为简便的是在命令行直接输入一行代码即可自动搜索资源并安装。而且非常智能,可以识别自己电脑的类型找到最合适的版本。
Pip install +你所需要的第三方库
或者是easy install +你所需要的第三方库
这里建议大家使用pip安装,因为pip可以安装也可以卸载,而另一种方法只能安装。如果遇到你想使用新的版本的第三方库,使用pip的优势就会显现出来。
第一部分:交互界面设计
交互界面.png
为了增加工作量,我设计了一个交互界面来凑数。其实很简单,用的是python自带的第三方库Tkinter。注意,引用这个库的时候呢,必须大写。我就因为这个大小写问题,纠结了一下午才发现出错误。
def web():
root = Tk()
Label(root,text='请输入网址').grid(row=0,column=0) #对Label内容进行表格式布局
Label(root,text='请输入User-Agent :').grid(row=1,column=0)
v1=StringVar() #设置变量
v2=StringVar()
e1 = Entry(root,textvariable=v1) #用于储存 输入的内容
e2 = Entry(root,textvariable=v2)
e1.grid(row=0,column=1,pa