- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
浅析正则表达式在教材信息收集中的应用.doc
浅析正则表达式在教材信息收集中的应用
摘要:正则表达式在许多领域有广泛的应用,而用于教材信息的收集中的情况较少。该文针对教材管理过程中的教材信息收集、教材征订环节开发出教材信息收集系统,其中可以利用正则表达式抓取购书网站上的教材信息,从而确保数据的有效性,提高工作效率。
关键词:正则表达式;教材;信息收集
中图分类号:G642 文献标识码:A 文章编号:1009-3044(2016)16-0156-02
1 概述
近年来,随着高校招生规模的不断扩大,教学改革的不断深入,教学管理系统建设成为各高校信息化建设的核心。教材管理是教务管理中的一个重要环节,教材征订、教材统计等成为了艰巨而繁琐的工作,教材管理的系统化是教学管理人员的迫切需求。目前市面上很多的教学管理软件都有涉及教材的管理,针对教材统计都有相应的功能模块,但普遍存在一个技术瓶颈――教材信息库无法满足实时更新的需求。
当教材管理系统中的教材数据库无法提供教师所需征订的教材信息时,则需教师手动输入教材基本数据。然而教材基本信息内容较多,人工录入教材信息工作效率较低,系统难以确保准确性。本文就现有的教材管理系统中的瓶颈问题――教材信息采集进行研究,开发出了教材信息收集系统,找到解决教材基本信息规范采集的方法,同时精简教师录入征订教材的操作步骤。
2 教材信息采集系统设计思路
本系统通过教学任务关联教材征订,在教材征订环节,除了拥有本地查询教材信息,手动添加教材信息的功能外,还借助成熟的购书网站(如当当网)实时更新的书籍信息库进行教材的查询、选用。任课教师在购书网站查找到所需教材,进入该教材的详细介绍页面,并将此页面的URL在系统中进行提交,系统获取到指定网页的所有信息,结合正则表达式提取有用的教材数据:教材名称、作者、出版社、ISBN等,并存入教材数据库,从而确保了教师录入的数据有效性、完整性和准确性,提高了录入教材信息的效率。
3 相关技术
什么是正则表达式?正则表达式(Regular Expression)是定义一组字符串的一系列字符和符号,从而快速方便地实现字符串的模式匹配,以及对输入域中的值进行数据验证。
由于PHP拥有强大的功能,支持多种数据库,因此笔者选用PHP及其内置函数进行编程,实现教材管理中的教材信息收集功能。系统设计通过URL抓取网页内容,作者经过对PHP几种常用的抓取网页内容的方法(Curl、fopen、file_get_contents)进行对比,最终选用性能较高的Curl方法来访问、抓取网页。Curl是一个利用URL语法规定来传输文件和数据的工具,支持多种协议,如HTTP、FTP、TELNET等。系统建立CURL请求的基本步骤:
$url=@$_POST[url];//获取提交的URL。
$ch = curl_init(); //初始化curl_init()。
curl_setopt ($ch, CURLOPT_URL, $url); //PHP取回的URL地址作为字符串。
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); //如果获取URL成功只将结果返回$ch,不自动输出任何内容,如果失败返回FALSE。
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT,10); //设置连接等待时间,当前等待10秒。
$content = curl_exec($ch);//执行并获取结果。
获取URL指定网页的内容后,作者利用正则表达式使用一系列的特殊字符构建匹配模式,然后把匹配模式与网页内容进行比较,过滤得出教材的基本信息。通过对购书网站中书籍产品页面源代码的查看,得知页面的meta标签中都有包含所介绍书籍的名称、ISBN号、出版社的信息,使用变量$metaskey存放书籍基本信息的meta标签内容,利用explode切开meta标签中“,”左右的字符串,trim去掉字符序列左边和右边的空格,通过array_map返回用户自定义函数作用后的数组,再用array_filter回调函数过滤数组中的元素。
将meta中的关键字进行截取:
array_filter(array_map(trim,explode(,,$metaskey)));
然而meta中的信息并不完整,个别字段如作者姓名和出版时间并不包含在其中,而是存在于网页的正文。面对网页正文中上千行代码,作者使用正则表达式通过设置关键字进行正则匹配,能够快速提取出相关数据。以出版时间为例,在网页中“出版时间”所在的代码段为:“出版时间:2015-4-1”,因此正则表达式则可定为:(?=出版时间:).*?(?
您可能关注的文档
最近下载
- 变电设备检修工职业认证隔离开关主刀闸工作原理GW23B-126型隔离开关说明书.pdf VIP
- QB1696-1993啤酒麦芽附录A比重与浸出物含量对照表.pdf VIP
- 《先兆流产》课件.ppt VIP
- (2025秋新版)部编版二年级语文上册全册PPT课件.pptx
- 清洁设备操作及日常保养标准作业规程.doc VIP
- 2025年高中政治必修同步课时练 必修一 第一课 周练过关(一).pdf VIP
- 2025年中考备考:人教版九年级物理上册全书课后练习答案.docx VIP
- 班级卫生值日表模板.xlsx VIP
- 深基坑开挖及支护施工专项方案.doc VIP
- 学习2025《初中生自我介绍》专题课件ppt.pptx VIP
文档评论(0)