关于估价函数的实现-------基于python语言(网络爬虫)
来源:互联网 发布:js 0除以0 nan 编辑:程序博客网 时间:2024/05/01 18:53
估价函数是一个对特定链接进行评价的函数,符合相关规则的,进行权值的增加。而规则怎么定?权值加多少?这又是我们要讨论的问题。根据那篇论文,我们可以知道规则不过为对链接本身以及对链接文本中存在的链接的规则。对于链接本身我们应该判断这个链接在不在门户网站的范围内,而门户网站当然是事先放在缓冲区里面了。假如在缓冲区里面找不到,我们就访问该链接文本里面的外部链接,然后判断这些链接有没有我们要的目标网站的关键字,有则原始链接的权值加10,没有则不加。假如在缓冲区里面找到了,则我们就访问该链接文本里面的内部链接,访问到的链接里面有关键字,则原始链接权值加20,没有则不加。至于判断某个链接是否为外部链接或内部链接,我们可以通过连接上面的域名判断,即从原始链接中提取该链接的特有域名,假如提取失败则直接过滤该链接。
现在大概说一下用python实现的方式,首先用字典这一数据结构来存储网址,其中dict[Url]=key,Url是链接,而key是链接对应的权值。先用python定义一个函数,
def GetDomain(Url): #获取链接的域名
First=Url.find('/')
First=First+2
Second=Url.find('/',First)
Third=Url.find('.')
Third=Third+1
Result=Url[Third:Second]
return Result
def JudgeUrl(OriginalUrl,NowUrl): #判断该链接上是否存在原始链接的域名
Result=GetDomain(OriginalUrl)
num=NowUrl.find(Result,0)
if num==-1:
print "该链接不属于内部链接。"
return 0 #不存在返回0
return 1 #存在返回1
def JudgeKeyWords(Url,KeyWords):
for Sublist in KeyWords:
num=Url.find(KeyWords)
if not num==-1:
print "该链接存在关键字。"
return 1 #存在返回1
return 0 #不存在返回0
通过以上三个函数分别提取域名,判断域名,判断关键字,基本上已经实现估价函数的基本流程。最后只需将符合要求的链接放到字典里面去,再进行排序,我们就能按权值的大小顺序访问相应的链接,实现以最快的速度访问到我们想要的网站。
- 关于估价函数的实现-------基于python语言(网络爬虫)
- 基于Scrapy框架下的Python网络爬虫的实现
- 基于Python、PyQuery实现的一个网络爬虫实例
- 基于JAVA语言的网络爬虫
- 基于Scrapy框架的python网络爬虫(1)
- 基于Scrapy框架的python网络爬虫学习(2)
- 基于Scrapy框架的python网络爬虫学习(3)
- 基于Scrapy框架的python网络爬虫学习(3)
- 基于Python的网络爬虫入门
- 基于Java的网络爬虫实现抓取网络小说(一)
- 基于spark的网络爬虫实现
- 基于Jsoup实现的简单网络爬虫
- 基于spark的网络爬虫实现
- 用于网页判断的智能代理技术的简单实现------------基于python实现(网络爬虫)
- 基于Python实现的爬虫源码(1)
- Python实现网络爬虫
- Python实现网络爬虫
- Python实现网络爬虫
- 关于多线程编程
- org.hibernate.TransientObjectException: object references an unsaved transient instance
- 遭遇ORA-12514: TNS:listener does not currently know of service requested in connect descriptor
- 怎样删除WORD文档中的所有超链接
- 解决浏览器缓存和中文乱码问题
- 关于估价函数的实现-------基于python语言(网络爬虫)
- xls文档的读写改(使用的jxl版本是2.6.8)
- 关于XML解析的测试
- JS万年历
- rmi
- sqlserver 分支语句及索引
- 随想
- 测试是否连接上 POP邮件服务器
- ORDER BY