大数据采集与预处理课件:requests技术应用案例-业务网站A静态数据采集2_第1页
大数据采集与预处理课件:requests技术应用案例-业务网站A静态数据采集2_第2页
大数据采集与预处理课件:requests技术应用案例-业务网站A静态数据采集2_第3页
大数据采集与预处理课件:requests技术应用案例-业务网站A静态数据采集2_第4页
大数据采集与预处理课件:requests技术应用案例-业务网站A静态数据采集2_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

requests库技术应用案例——动态数据和动态数据采集本章学习目标分析业务网站A,B,C和D的网页结构和内容使用requests库编写爬虫代码获取指定的静态和动态数据使用BeautifulSoup实现数据的解析使用pymysql库和pandas实现数据的持久化4.3业务网站A静态数据进入网址:/notebook_index/subcate16_0_list_1_0_99_2_0_1.html

我们可以观察到网页主页显示的主要的内容,有笔记本电脑型号、价格、配置、评价分数等,本次任务案例,我们将要获取该页的所有笔记本电脑信息。图4.3-1网址主页

判断此数据是静态数据还是动态数据。如图4.3-2所示,由此可知,我们想要获取的内容被标签直接包含在内,为静态数据,所以可以编写爬虫获取网页标签内容即可图4.3-2标签检查数据类型天问一号成功登陆火星,对于静态数据和动态数据整体把控和分析要求极高。充分体现劳模精神:劳模精神,是指“爱岗敬业、争创一流、艰苦奋斗、勇于创新、淡泊名利、甘于奉献”的劳动模范的精神。网页分页爬取的翻页操作实现对保存网页的变量complete_url进行操作,设置首先观察网页,如图4.3-7所示图4.3-7翻页网址变化由此我们可以知道,后缀subcate16_0_list_1_0_99_2_0_X控制网页的页数,所以我们可以自定义for循环使X的值不同,以达到去到不同页面的目的,使用str函数将其拼接在网址后,从而得到新网页地址。fornuminrange(1,3):complete_url='/notebook_index/subcate16_0_list_1_0_99_2_0_'+str(num)+'.html'print(complete_url)图4.3-8新网址完成翻页效果4.3.4数据预处理1)导入指定的库importreimportpandasaspdfromscipy.statsimportzscorefromtabulateimporttabulate2)自定义方法main(),作为实现调用其他数据预处理自定义方法的入口。defmain():#1数据读取laptops=pd.read_excel('zgc_pages.xlsx',skiprows=1,usecols=lambdax:xnotin[0])laptop=pd.read_excel('zgc_new.xlsx')#2数据集成lap_con=pd.concat([laptop,laptops],axis=0)#3探索清理数据laptops_new=check_data(lap_con)#4数据转换result=transform_data(laptops_new)print(tabulate(result,headers='keys',tablefmt='pretty'))3)自定义check_data(laptops)方法用于数据探索、数据清理和数据规约操作。defcheck_data(laptops):#1.探索数据#查看前几行数据print(laptops.head())#查看列名laptops_colmuns=laptops.columnsprint(())#2.数据清理#2.1清理缺失值#2.1.1判断缺失值位置print(laptops['评分'].isnull())#2.1.2删除缺失值laptops.drop(index=laptops[laptops['评分'].isnull()].index,inplace=True)laptops.drop(index=laptops[laptops['配置'].isnull()].index,inplace=True)#2.2清理重复值#2.2.1判断重复值位置print(laptops.duplicated())#2.2.2删除重复值print(laptops.drop_duplicates(inplace=True))#2.3.1判断异常值计算z分数,判断是否超过阈值z_scores=zscore(laptops['评分'])valid_rating_condition=(z_scores>-3)&(z_scores<3)#2.3.2清理异常值laptops_new=laptops[valid_rating_condition]returnlaptops_new4)自定义transform_data(laptops_new)方法用于数据转换操作。deftransform_data(laptops_new):#是否允许链式索引。pd.set_option('mode.chained_assignment',None)#1.价格拆分#将价格转换为最低价格和最高价格#以-为界进行分割split_values=laptops_new['价格'].str.split('-',expand=True)laptops_new[['最低价','最高价']]=split_values#定义一个函数,用于处理包含万字的数值列defprocess_wan(value):try:ifre.search(r'万',value):returnfloat(re.sub(r'万','',value))*10000else:returnfloat(value)except(ValueError,TypeError):return0#对每一列应用处理函数laptops_new['最低价']=laptops_new['最低价'].apply(process_wan)laptops_new['最高价']=laptops_new['最高价'].apply(process_wan)laptops_new.drop(columns='价格',inplace=True)#定义Min-Max标准化函数defmin_max_scaling(value,min_value,max_value):return(value-min_value)/(max_value-min_value)#2.评分标准化min_rating=laptops_new['评分'].min()max_rating=laptops_new['评分'].max()#使用Min-Max标准化函数进行标准化laptops_new.lo

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论