Web信息处理
爬虫的基本原理以及使用的基本方法(如果使用框架,简述参数和各项module的功能)
由于本学院官网上的教师资料信息较为简单,本次作业的信息爬取使用Python的Requests库完成。
使用的基本方法:
首先需要设置一个headers,虽然学校官网没有反爬虫措施,但是还是要做好基本参数的设置。
c++
headers={'user-agent':'Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/90.0.4430.212Safari/537.36Edg/90.0.818.66',}
然后就是使用requests库进行信息的提取了
c++
data=requests.get(url1,headers=headers)
data.encoding='utf-8'
baseInfo=data.text
实现的简单流程:包括爬虫工具的使用、数据库设计、xpath/css路径匹配等等;
以一个老师的信息框架为例
```c++
徐增林
- 任职:
- 国家青年特聘专家、计算机学院教授/博导
- 电话:
- 传真:
- Email:
- xuzenglin@hit.edu.cn
- 研究方向:
- 致力于解决涉及现代大数据分析的关键建模和计算的挑战,实现复杂系统在自然语言处理,计算机视觉,社会计算,网络空间安全,生物信息学和生物医学应用等领域的研究。为此研究由各种应用驱动的稀疏、关系、动态、深度学习模型,并为这些模型开发精确、高效和可扩展的算法。
```
可以看到所有老师的信息开头都有
判断出老师的信息后,还需要从中提取出老师信息中的各个字段,这里使用re库正则匹配就可以了。
``` teacherInfo1 = re.findall(r'
(. ?)
', baseInfo1) teacherTitle1 = re.findall(r'```
之后将数据存到MySQL中就完成该实验了。
c++
for j in range(0,len(teacherInfo)):
sql = 'insert into `teacher`(`name`,`title`,`telephone`,`fax`,`email`,`field`) values ("{}","{}","{}","{}","{}","{}")'.format(teacherName[j],teacherTitle[j],teacherTelephone[j],teacherFax[j],teacherEmail[j],teacherField[j])
cursor.execute(sql)
db.commit()
数据库设计如下:
简单的心得体会
本次作业相较来说比较简单,主要考察爬虫的使用以及数据库的设计。小小吐槽一下学院官网的设计,URL没有按顺序来,爬起来有一点麻烦,需要先对首页进行一个单独处理。
参考文献
- 基于.NET环境开发Web应用系统的研究(武汉理工大学·王伟)
- 基于.NET下Web服务的信息查询系统的研究与设计(合肥工业大学·张静)
- 网络信息代理的设计与实现(广东工业大学·陈旨明)
- 网络流量统计分析系统(吉林大学·石景龙)
- .NET平台下Web信息系统门户的开发与研究(武汉理工大学·王云山)
- .NET平台下Web信息系统门户的开发与研究(武汉理工大学·王云山)
- 安徽大学毕业生就业管理系统的研究与实现(电子科技大学·唐科伟)
- 动态WEB数据库应用研究(昆明理工大学·李玉梅)
- 基于.NET框架的企业应用集成研究和实现(浙江大学·蒋元星)
- 潍坊滨海经济开发区人事管理系统的设计与实现(山东大学·郭兴平)
- 基于Web服务的企业信息化集成应用(云南财经大学·韩雪)
- 动态WEB数据库应用研究(昆明理工大学·李玉梅)
- 基层部队网站的设计与建设(昆明理工大学·罗顺先)
- 统一用户管理系统开发与设计(南昌大学·郭妍)
- 印刷公司内容管理平台的设计与实现(吉林大学·郎彩虹)
本文内容包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主题。发布者:源码码头网 ,原文地址:https://bishedaima.com/yuanma/36172.html