大数据采集与预处理课件:requests技术应用案例——业务网站A静态数据采集2.pptx

大数据采集与预处理课件:requests技术应用案例——业务网站A静态数据采集2.pptx

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

requests库技术应用案例——动态数据和动态数据采集;本章学习目标

分析业务网站A,B,C和D的网页结构和内容

使用requests库编写爬虫代码获取指定的静态和动态数据

使用BeautifulSoup实现数据的解析

使用pymysql库和pandas实现数据的持久化;4.3业务网站A静态数据;判断此数据是静态数据还是动态数据。如图4.3-2所示,由此可知,我们想要获取的内容被标签直接包含在内,为静态数据,所以可以编写爬虫获取网页标签内容即可;网页分页爬取的翻页操作实现

对保存网页的变量complete_url进行操作,设置首先观察网页,如图4.3-7所示

;由此我们可以知道,后缀subcate16_0_list_1_0_99_2_0_X控制网页的页数,所以我们可以自定义for循环使X的值不同,以达到去到不同页面的目的,使用str函数将其拼接在网址后,从而得到新网页地址。

fornuminrange(1,3):

complete_url=detail.zol.cn/notebook_index/subcate16_0_list_1_0_99_2_0_+str(num)+.html

print(complete_url);4.3.4数据预处理

1)导入指定的库

importre

importpandasaspd

fromscipy.statsimportzscore

fromtabulateimporttabulate

2)自定义方法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.columns

print(laptops.info())

#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_scores3)

#2.3.2清理异常值

laptops_new=laptops[valid_rating_condition]

returnlaptops_new;4)自定义transform_data(laptops_new)方法用于数据转换操作。

deftransform_data(laptops_new):

#是否允许链式索引。

pd.set_option(mod

文档评论(0)

ning2021 + 关注
实名认证
内容提供者

中医资格证持证人

该用户很懒,什么也没介绍

领域认证该用户于2023年05月10日上传了中医资格证

1亿VIP精品文档

相关文档