数据爬虫相关代码例子已上传****
1.NumPy (Numeric Python) :用Python实现的科学计算库
- 强大的N维数组对象array
- 成熟的科学函数库
- 实用的线性代数、随机数生成函数等
- NumPy的操作对象是多维数组ndarray ndarray.shape数组的维度
- 创建数组: np.array(<list>) , np.arrange()
- 改变数组形状reshape()
2.JSON格式
JSON(JavaScript Object Notation)是一种轻量级数据交换格式,可以对复杂数据进行表达和存储 ,易于阅读和理解
规则:
- 数据保存在键值对中
- 键值对之间由逗号分隔
- 花括号用于保存键值对数据组成的对象
- 方括号用于保存键值对数据组成的数组
采用对象、数组方式组织起来的键值对可以表示任何结构的数据,JSON格式是互联网上主要使用的复杂数据格式之一
[
{
"aqi":47,
"area":"北京" ,
"position_name":"万寿西宫",
"time_point": "2017-07-29"
},
{
"aqi":63,
"area":"北京”,
"position_name" :"定陵”,
"time_ point":"2017-07-29"
}
]
3.JSON库
- JSON库是处理JSON格式的Python标准库
- 两个过程:
编码(encoding) ,将Python数据类型转换成JSON格式的过程
解码(decoding) ,从JSON格式中解析数据对应到Python数据类型的过程
4.CSV格式
CSV(Comma- Separated Values)是一种通用的、相对简单的文件格式,在商业和科学领域上广泛使用
规则:
- 以行为单位
- 每行表示一条记录
- 以英文逗号分割每列数据(如果数据为空 ,逗号也要保留)
- 列名通常放置在文件第一 行
aqi,area,pm2_5,pm2_ 5_ 24h,position_name,primary_pollutant,quality,station_code,time_point
47,北京,32,33,万寿西宫,优,1001A,2017-07-29T14:00:00Z
63,北京,37,20,定陵,颗粒物(PM10),良,1002A,2017-07-29T14:00:00Z
- import CSV
- csv.writerow(list) #将列表中的元素写入文件的一行中
5.os模块:提供了与系统、目录操作相关的功能,不受平台的限制
6.网络爬虫:自动抓取互联网信息的程序 ;利用互联网数据进行分析、 开发产品
步骤:
- 通过网络链接获取网页内容
- 对获得的网页内容进行处理
url是统一资源定位符,对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。
7.requests模块
- requests模块是一一个简洁且简单的处理HTTP请求的工具
- 支持非常丰富的链接访问功能,包括URL获取、 HTTP会话、Cookie记录等
requests网页请求
requests对象属性
8.网页解析:结构化解析 ; DOM (Document Object Model) ,树形结构
9.BeautifulSoup解析网页
BeautifulSoup:用于解析HTML或XML;pip install beautifulsoup4;import bs4
步骤:
- 创建BeautifulSoup对象
- 查询节点:find ,找到第一一个满足条件的节点;find_ all, 找到所有满足条件的节点
创建对象
- 创建BeautifulSoup对象
bs= BeautifulSoup(
url,
html_ parser, #指定解析器
enoding #指定编码格式(确保和网页编码格式一致)
)
查找节点
- <a href='a.html' class='a_ link'>next page</a>
- 可按节点类型、属性或内容访问
- 按类型查找节点bs.find_ all('a')
- 按属性查找节点
bs.find all(“a', href='a.html')
bs.find all('a', href=* a.html', string‘next page')
bs.find_ all("a', class_ =‘a_ link') #注意:是class_
#或者bs.find all('a', {'class':'a_ link'})