python-12 网络爬虫和数据可视化
一、网络爬虫
1、搜索引擎-蜘蛛
爬虫是按照一定规则,自动地提取并保存网页中信息的程序;蜘蛛沿着网络抓取猎物,通过一个节点之后,顺着该节点的连线继续爬行到下一个节点,最终爬完整个网络的全部节点。 爬虫与蜘蛛类似,通过向网站发起请求获取资源,提取其中有用的信息。
2、requests库
requests库是Python实现的一个简单易用的HTTP库,支持HTTP持久连接和连接池、SSL证书验证、cookies处理、流式上传等。向服务器发起请求并获取响应,完成访问网页的步骤。requests简洁、容易理解,是最友好的网络爬虫库。
1)http请求类型
1 | requests.request():构造一个请求 |
2)response对象
1 | 包含服务器返回的所有信息,例如状态码、编码形式、文本内容等; |
3)使用
定制请求头:requests的请求接口有一个名为headers的参数,向它传递一个字典来完成请求头定制;
设置代理:一些网站设置了同一IP访问次数的限制,可以在发送请求时指定proxies参数来替换代理,解决这一问题;
3、 页面解析器
使用requests库下载了网页并转换成字符串后,需 要一个解析器来处理HTML和XML,解析页面格式,提 取有用的信息。
二、数据可视化
1、numpy矩阵处理库
numpy是Python用于处理大型矩阵的一个速度极快的数学库 可以做向量和矩阵的运算,包括各种创建矩阵的方法,以及一般的矩阵运算、求逆、求转置。它的很多底层的函数都是用C写的,可以得到在普通Python中无法达到的运行速度。
1)numpy方法
1 | #矩阵计算 |
2)实例
2、matplotlib绘图库
matplotlib是Python的一个绘图库,它包含了大量的工具,可以使用这些工具创建各种图形,简单的散点图、折线图,甚至三维图形、动画等。
参考画图:http://matplotlib.org/gallery.html
3、绘制函数图像基本思路
通过将图像上一些点的坐标连接起来,即可绘制函数 的近似图像,当点越多时,所绘图像越接近函数图像 。1)numpy库的linspace()函数生成数组
1 | numpy.linspace(<start>,<stop>,<num>) |
生成一个存放等差数列的数组,数组元素为浮点型, 包含三个参数,分别是:数列起始值、终止值(默认 包含自身)、数列元素个数。
2)matplotlib库的plot()函数用来画图,可以设定图形颜色、线条线型、以及做标注等。
4、简单函数图形
1)一个简单图形
1 | import matplotlib.pyplot as plt |
2)多个简单图形
1 | import matplotlib.pyplot as plt |
5、定制线形
6、标签图例
1)坐标轴标签:plt.xlabel()、plt.ylabel()
2)图形标题:plt.title()
7、散点图和直方图
1)散点图
1 | import matplotlib.pyplot as plt |
2)直方图
1 | import matplotlib.pyplot as plt |