曹清清 刘艳 马萌 刘芳
摘 要:网络科技的发展,使得网络已经深入到生活的方方面面,它在给人们带来便利的同时,也带来了很多隐患。为了营造清澈良好的学校网络环境,避免学生在浏览学校网站时访问不良外链,接触到黄毒、暴力等影响学生身心健康的不良信息,该研究通过Python语言的网络爬虫技术和关键词提取技术,对学校Web站群中的外链进行检测,从中找出不良外链并及时清理。
关键词:不良信息外链 Python 网络爬虫 关键词提取
中图分类号:G64 文献标识码:A文章编号:1672-3791(2021)05(a)-0041-03
Abstract: With the development of network technology, the network has penetrated into all aspects of life. It brings convenience to people, but also brings many hidden dangers. In order to create a good school network environment, to avoid students visiting the bad external chain when browsing the school web site group, contact with pornographic, violence and other bad information that affect students' physical and mental health. In this study, through the Python language web crawler technology and keyword extraction technology, the school web site group in the chain detection, to find out the bad chain.
Key Words: Bad information out-link; Python; Web crawler; Keyword extraction
任何一個网站都很难做到面面俱到,学校Web站群亦是如此。因此,需要链接到别的网站,将其他网站的信息吸收过来充实自身网站内容,这种现象称为外链。外链是互联网的血液,它可以将互联网上孤立的信息关联起来。但是如果因为外链过期、被黑、管理不善等原因,外链就会变成黑链、毒链、黄链,外链其原本的作用将不存在,并会对学校、教师和学生造成不良影响。而学校Web站群其特殊的性质和职责,更应该履行网络安全保护义务,避免学校Web站群中出现不良外链。因此,该研究对学校Web站群中的链接进行分析,从中检测出不良外链并及时处理,避免因不良外链对学校声誉以及学生的身心发展造成影响。
1 研究思路与方法
1.1 思路
(1)分析学校Web站群网页架构以及浏览器的加载过程,确定Python语言实现的网络爬虫中网页请求的方法并获取网页内容。
(2)根据网页的结构并结合不同网页内容解析的技术特点,确定合适的网页内容解析的方法。
(3)从网页内容中解析出链接信息,根据外链和内链域名的特点,区分外链与内链。内链则不再进行关键词的提取。
(4)通过向外链发送请求并获得其服务器返回的响应,进而获取外链对应网页源代码的内容。
(5)将获取的外链的网页源代码以文本格式进行存储,以便于后续的不良外链的判定。
(6)使用算法对存储的网页内容进行分词,并从中过滤出关键词,并将提取的关键词与不良外链网站关键词集进行对比。
(7)通过大量的实验,设定合理的阈值,制定不良外链的判定规则。
1.2 方法
该文中网页数据的获取采用的是Python语言实现的网络爬虫,其中网页请求发送可以采用requests库或urllib库,网页数据解析可以采用re、xpath、BeautifulSoup、json等。同时还要进行文件的存储和读取操作,需要用到的是open()、write()、readline()、readlines()。中文分词采用的是jieba,关键词提取使用的算法为TF-IDF算法。
2 设计
2.1 流程图
学校Web站群不良信息外链检测流程如图1所示,主要分为四大部分:学校Web站群链接提取、外链网页信息提取、关键词提取、不良网站关键词词集提取。
2.2 学校Web站群链接提取
学校Web站群链接提取即从学校的Web站群中找出所有的可疑外链。具体步骤为:将学校Web站群的所有链接都放入到URL队列中,并对每个链接进行发送请求、获取网页内容、从网页内容中解析获得链接3步操作。学校Web站群内网页之间的链接称之为内链接,而已知的外部链接可以称之为白名单链接。所有的链接都执行完成后,从解析出的链接中去除内链和白名单链接,对其余的外链做进一步的处理。
2.3 外链网页信息提取
从学校Web站群中解析出的可疑外链,要进行进一步的分析才能确定是否为不良外链。首先要做的就是要获取外链网页信息,同样需要发送请求、获取网页内容、从网页内容中解析获得网页内容3步操作。获取的可疑外链的网页内容后,将网页内容以文本格式进行存储。
2.4 不良网站关键词词集收集
不良网站关键词词集收集是一个长期的工作,随着时代的发展新的词汇的出现要及时进行更新。收集的工作可以使用关键词提取技术对一些不良网站的信息进行关键词提取,也可以通过人工的形式进行补充。总之,不良网站关键词词集收集的越多越准确,对不良外链的认定就越准确。
2.5 关键词提取
该文使用jieba中文分词实现了分词、词性标注、关键字提取。关键字提取也就是从文本信息中,找到能代表文本主要信息的词并把这些词提取出来。但是并不是说一个词在文本中出现的频率越高越能表现文章的主旨,关键词的提取要结合一定的算法,该文中jieba关键词提取使用的为TF-IDF算法。TF-IDF算法的主要思想为:一个词在一个文档中出现的次数越高,即TF高;并且在所有文档中出现的次数越少,即DF低(IDF高),越能代表文章的主旨意思。
从外链的网页内容文本中进行关键词提取,提取出来的关键字与提前收集好的不良网站关键词词集进行对比,并计算网页中关键词在词集中的百分比,若百分比大于阈值则认为是不良外链,若百分比小于阈值则认为是正常外链。而阈值的设定要经过大量的实验,进而确定一个比较合理的值。
3 关键问题解决方法
3.1 外链网络的反爬虫机制
网站的所有者从所有的网站来访者中识别出爬虫并对其做出相应的处理,称之为反爬虫。对于网络所有者而言,爬虫并不是一个受欢迎的客人。外链网站中有的网站也存在反爬虫,而且不同的外链网站采用的反爬机制不同。如果外链网站存在反爬机制,可能导致获取网页内容失败的情况,因此要根据不同的反爬机制进行爬取策略的制定。爬虫的行为和普通用户访问网站的行为要尽量类似,常用的反爬策略有:发送模拟user_agent、调整访问频率、使用代理ip、识别验证码并校验、模拟登录等。
3.2 阈值的设定
不良外链判断的关键之一是设定合理的阈值。并不是从可疑外链中提取出的关键字包含了不良网站关键词词集的内容就认定为不良外链,而是要看提取出的关键字中有多少比例的关键字属于不良网站关键词词集。因此,需要通过大量的实验,确定与词集匹配的关键词权重的阈值,并进一步确定不良外链的判定规则。
4 不良外链的预防方法
学习网站中不良外链多出现于发布的新闻中引用的外链,为了防止外链因过期、被黑、管理不善等原因变成黑链、毒链、黄链对学校造成不良影响,在信息发布时可以從以下几点进行预防。
(1)定期对学校Web站群中的外链进行清理,不需要的外链应及时删除。
(2)在学校Web站群中进行信息发布时尽量避免指向学校以外的网络的链接,如果因工作需要发布的外链可以只发布文件地址而不加超级链接,或者在工作完成后即使删除超级链接。
(3)从互联网上复制的文字可能包含大量的超级链接,不应该直接复制发布,应先复制到记事本中去掉格式化再发布。
(4)在学校Web站群中设置的校外友情链接,应做好记录并定期检查。
5 结语
外链对网站至关重要,在肯定其重要性的同时,分析其可能带来的网络风险。使用Python语言的网络爬虫技术与关键词提取技术对学校Web站群中的外链进行分析,从而获得不良外链,替代了传统人工判断的方式,提高了判断的效率,为学生和老师提供了宁静清澈的网络环境。
参考文献
[1] 张涛,廖力.基于链接的网站搜索引擎优化策略[J].湖北工业大学学报,2010(5):61-63.
[2] 黑马程序员.解析Python网络爬虫[M].北京:中国铁道出版社有限公司,2019:24-123.
[3] 牛永洁.基于Python的改进关键词提取算法的实现[J].电子设计工程,2019,27(13):11-15.
[4] 王洁,王丽清.多特征关键词提取算法研[J].计算机系统应用,2018,27(7):162-166.
[5] 曾小芹.基于Python的中文结巴分词技术实现[J].信息与电脑,2019(18):38-42.
[6] 潘亚星.基于Python的词云生成研究[J].电脑知识与技术,2019,15(24):8-10.
[7] 苏航.基于语义的文献关键字提取技术的研究[D].吉林大学,2020.
[8] 邵玉涵.基于知识和图结构的词义消歧算法研究[D].合肥工业大学,2019.



