网络空间安全概论 实验7网络爬虫 租房信息爬虫及数据分析_第1页
网络空间安全概论 实验7网络爬虫 租房信息爬虫及数据分析_第2页
网络空间安全概论 实验7网络爬虫 租房信息爬虫及数据分析_第3页
网络空间安全概论 实验7网络爬虫 租房信息爬虫及数据分析_第4页
网络空间安全概论 实验7网络爬虫 租房信息爬虫及数据分析_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

中国矿业大学计算机学院2018级本科生课程报告课程名称信息内容安全报告题目租房信息爬虫及数据分析报告时间2021.7.6姓名李辰学号08182899任课教师曹天杰2020-2021(二)《信息内容安全》课程报告评分表序号毕业要求课程教学目标考查方式与考查点占比得分12.3目标1:掌握信息内容安全的基本概念、分类、原理和相关技术,能够根据课程基本知识对信息内容安全领域出现的问题进行归类、分析、并有初步分析和解决问题的能力。通过课堂讲授和课堂研讨掌握信息内容安全概念和理论知识。40%3.2目标2:掌握信息内容安全处理相关的理论、技术以及健全的评价体系,能够根据具体问题分析算法、设计算法、实现算法并能综合评价算法。24.3目标3:掌握信息内容安全的基础知识,针对具体问题和要求选择正确的技术路线,通过在实验环境中进行仿真实验并能根据算法特点进行攻击测试和综合性能评价,得到具有参考价值的结论。课程报告;实现有关信息内容安全的一个软件系统。分析和对比各项技术,选择相应的技术进行算法设计并在实验环境中进行仿真实验和性能评价,得到有效结论。60%总分100%评阅人:2021年7月10日目录TOC\o"1-3"\h\u21828报告摘要 419060报告正文 429376一、对58同城租房信息爬取 4177191、网页内容定位爬取 4749(1)租房价格 49449(2)租房标题 432335(3)其他租房信息 55092、反爬虫机制绕过 67556(1)访问时延设置 65293(2)伪造UA头 622952(3)绕过SSL认证,设置verify=False 613382(4)当过多,过快的对58同城网站进行爬取,导致IP封禁 6278853、文件导出和去重 723012(1)数据处理过程 715596(2)数据文件展示 825594、IP代理池的IP过滤 89332(1)从网上爬取IP 825466(2)对IP进行过滤 92305、租房网页链接有效性判断 1018453二、对导出数据进行分析 11182731、导入数据格式处理 1129031(1)去除size中的㎡ 1118498(2)按区域处理数据 1178982、数据可视化 1115308(1)直方图显示户型 1211314(2)折线图显示各区域平均祖金 1218681(3)柱状图显示各区域租房数量 127595(4)图表展示 13报告摘要摘要:在数据爆炸的时代,繁杂冗余的数据让人眼花缭乱。我们需要对数据进行收集和分析,让我们对数据有更直观的认识。本报告主要对58同城的租房信息进行爬取和分析,最终以图表的方式显示出来。关键词:爬虫;分析报告正文对58同城租房信息爬取网页内容定位爬取租房价格分析图1.1.1中的价格位置,可以直接复制其中的CSS路径。(这里是以火狐为例,如果是谷歌的话复制selector路径)图1.1.1通过空列表暂时存储爬取的价格图1.1.2租房标题分析图1.2.1中的标题位置,通过节点的迭代向下寻找到标题所在的节点。图1.2.1如图1.2.2其中使用正则表达式去除不需要的噪音信息。图1.2.2其他租房信息如图1.3.1,其他租房信息按照标题的方式进行爬取和去除噪音信息。图1.3.2反爬虫机制绕过访问时延设置这里的time是用来设置休眠时间,random使用每次访问时延不同,防止被识别出。time.sleep(random.randint(0,3))伪造UA头UA头使用的是fake_useragent库使每次访问爬取的时候都采用的时不同的UA头。headers

=

{'User-Agent':str(UserAgent().random)}绕过SSL认证,设置verify=False如图2.3.1所示,若未设置时,会出现人机验证,阻止进一步爬取。图2.3.1设置后如图2.3.2所示图2.3.2当过多,过快的对58同城网站进行爬取,导致IP封禁如图2.4.1所示,被检测到对本机IP实施了封禁。图2.4.1这个时候可以考虑使用IP代理池或者等一会儿解封。文件导出和去重(1)数据处理过程如图3.1.1,第一部分把爬取的数据导入到cav中,第二部分把所有的文件都合并到hebing.csv当中,第三部分去除hebing.csv中的重复数据。图3.1.1数据文件展示数据格式如图3.2.1所示,共有3576条数据。图3.2.1IP代理池的IP过滤IP代理池的建立主要包括四个步骤:从网上爬取IP如图4.1.1所示,将所有的IP加入到IP.txt中。图4.1.1对IP进行过滤如图4.2.1所示,直接访问/,返回本机的IP。图4.2.1如图4.2.2所示,通过设置代理proxies,对每一个IP进行访问/。图4.2.2租房网页链接有效性判断如图5.1所示,使用oper.open()函数访问连接,如果IP正常就返回状态码为200。图5.1如图5.2所示,在文件最后构造的URL显示访问错误,其他正常的URL显示没问题。图5.2对导出数据进行分析导入数据格式处理去除size中的㎡data_new

=

np.array([])

data_size

=

file_data['size'].values

for

i

in

data_size:

data_new

=

np.append(data_new,np.array(i[:-1]))

data_new

=

data_new.astype(np.float64)

file_data.loc[:,'size']=data_new按区域处理数据

#计算区域数量

number_address=len(file_data["address"].unique())

df_all

=

pd.DataFrame({"地址":

file_data["address"].unique(),

"房租总金额":

[0]*number_address,

"总面积":[0]*number_address,

"数量":[0]*number_address})

sum_price

=

file_data["price"].groupby(file_data["address"]).sum()

sum_area

=

file_data["size"].groupby(file_data["address"]).sum()

count_area_count

=

file_data.groupby(file_data["address"]).count()

df_all["房租总金额"]

=

sum_price.values

df_all["总面积"]

=

sum_area.values

df_all["数量"]

=

count_area_count.values

df_all["每平米租金(元)"]

=

round(df_all["房租总金额"]

/

df_all["总面积"],

2)

#print(df_all)数据可视化首先处理中文字符显示问题

#处理图形显示问题

plt.rcParams['font.sans-serif']=['SimHei']

#用来正常显示中文标签

plt.rcParams['axes.unicode_minus']=False

#用来正常显示负号直方图显示户型如图2.1.1所示,通过LayoutNumber()函数对户型数据中的数字进行提取,通过AnalysisLayout()函数显示直方图。图2.1.1折线图显示各区域平均祖金

#

显示折线图

ax1

=

fig.add_subplot(111)

ax1.plot(l,

price,

"or-",

label="价格")

for

i,

(_x,

_y)

in

enumerate(zip(l,

price)):

plt.text(_x+0.2,

_y,

price[i])

ax1.set_ylim([0,

40])

ax1.set_ylabel("价格")

plt.legend(loc="upper

right")柱状图显示各区域租房数量

#

显示条形图

ax2

=

ax1.twinx()

p

温馨提示

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

评论

0/150

提交评论