一种爬取网络数据的方法和装置的制造方法_2

文档序号:9251076阅读:来源:国知局
服务器接收到显示某新闻的网页的网络数据,则可以从其中获取该新闻的文本信息,过滤掉该网页中广告和评论等信息。另外,对于接收到网络数据中存在网址信息的情况,如接收到对应某关键词的搜索页面的网络数据,爬取服务器可以获取其中的网址,并将这些网址加入到相应的网址队列中,以便后续爬取网络数据。爬取服务器还可以查询域名队列中是否存在获取到的网址对应的域名,如果不存在,则可以将获取到的网址对应的域名添加到域名队列中,以便后续根据对该域名对应的网址爬取网络数据。
[0034]如果爬取服务器可以确定当前时间与记录的时间的时间间隔后,判定该时间间隔小于预设的时间间隔阈值,则可以在上述域名队列中,按照预设的轮询顺序,选取下一个待爬取的域名。
[0035]可选的,可以预先设置各域名对应的网址队列中各网址的优先级,相应的,步骤102的处理过程可以如下:如果选取的域名上一次被爬取的时间与当前时间的时间间隔超过预设的时间间隔阈值,则根据预先存储的选取的域名对应的网址队列中各网址的优先级,在选取的域名对应的网址队列中抽取一个待爬取的网址,对待爬取的网址进行网络数据爬取。
[0036]在实施中,爬取服务器中可以预先设置各域名对应的网址队列中各网址的优先级。例如,新闻头条对应的网址为最高优先级,普通新闻对应的网址为第二优先级,发布时间超过24小时的新闻对应的网址的优先级为第三优先级。爬取服务器可以将每个网址与该网址的优先级进行对应的存储。爬取服务器按照预设的轮询顺序选取某域名作为待爬取的域名后,可以确定当前时间与记录的时间的时间间隔,然后可以将该时间间隔与预设的时间间隔阈值进行对比,如果该时间间隔大于预设的时间间隔阈值,则爬取服务器可以在该域名对应的网址队列中,根据各网址的优先级选取待爬取的网址。
[0037]可选的,基于上述预先设置各域名对应的网址队列中各网址的优先级的情况,步骤102的具体处理方式可以多种多样,以下给出了几种可行的处理方式:
[0038]方式一:如果选取的域名上一次被爬取的时间与当前时间的时间间隔超过预设的时间间隔阈值,则根据预先存储的选取的域名对应的网址队列中各网址的优先级,在选取的域名对应的网址队列中抽取一个优先级最高的待爬取的网址,对待爬取的网址进行网络数据爬取。
[0039]在实施中,爬取服务器确定当前时间与记录的时间的时间间隔后,如果判定该时间间隔大于预设的时间间隔阈值,则可以在选取的域名对应的网址队列中,根据预先存储的各网址的优先级,确定优先级最高的网址,然后从优先级最高的网址中抽取一个网址,作为待爬取的网址,进而可以对该网址进行网络数据爬取。每当爬取服务器选取某域名作为待爬取的域名时,如果该域名上一次被爬取的时间与当前时间的时间间隔超过预设的时间间隔阈值,则服务器对该域名对应的网址队列中优先级最高的网址进行抽取,直到爬取服务器将该域名对应的网址队列中优先级最高的网址全部抽取出来,然后可以确定从该域名对应的网址队列中第二优先级的网址,从第二优先级的网址中进行网址抽取,以便进行网络数据爬取,以此类推。
[0040]方式二:如果选取的域名上一次被爬取的时间与当前时间的时间间隔超过预设的时间间隔阈值,则根据选取的域名对应的网址队列中预先存储的各网址的优先级、对选取的域名对应的网址队列中的网址的抽取情况,以及各优先级对应的抽取数量阈值,在选取的域名对应的网址队列中抽取待爬取的网址,对待爬取的网址进行网络数据爬取。
[0041]在实施中,爬取服务器中除了可以预先设置各域名对应的网址队列中各网址的优先级,还可以设置每个优先级对应的抽取数量阈值。例如,最高优先级对应的抽取数量阈值为10个,第二优先级对应的抽取数量阈值为6个,第三优先级对应的抽取数量阈值为3个。爬取服务器还可以对各域名对应的网址队列中的网址的抽取情况进行记录,如从该域名对应的网址队列中最高优先级的网址中抽取了 6个网址。每当爬取服务器选取某域名作为待爬取的域名时,如果该域名上一次被爬取的时间与当前时间的时间间隔超过预设的时间间隔阈值,则爬取服务器可以根据上述记录,确定已经从该域名对应的网址队列中最高优先级的网址中抽取了 6个网址,则爬取服务器可以从该域名对应的网址队列中最高优先级的网址中抽取第7个网址。爬取服务器从该域名对应的网址队列中抽取最高优先级的网址数量达到10个时,可以对该域名对应的网址队列中第二优先级的网址进行抽取,当抽取数量达到6个时,可以对该域名对应的网址队列中第三优先级的网址进行抽取,以此类推。
[0042]可选的,可以对不同的域名设置不同的时间间隔阈值,相应的,步骤102的处理过程可以如下:在每次选取待爬取的域名后,获取预先存储的待爬取的域名对应的时间间隔阈值,如果选取的域名上一次被爬取的时间与当前时间的时间间隔超过获取到的时间间隔阈值,则在选取的域名对应的网址队列中抽取待爬取的网址,对待爬取的网址进行网络数据爬取,如果选取的域名上一次被爬取的时间与当前时间的时间间隔未超过获取到的时间间隔阈值,则选取下一个待爬取的域名。
[0043]在实施中,每个网站的访问频率的上限通常不相同,因此,爬取服务器中可以对应每个域名存储相应的时间间隔阈值。例如,域名I对应的时间间隔阈值为10ms,域名2对应的时间间隔阈值为50ms,域名3对应的时间间隔阈值为20ms。在每次选取待爬取的域名后,服务器可以获取该域名对应的时间间隔阈值,如50ms,如果该域名上一次被爬取的时间与当前时间的时间间隔超过50ms,则爬取服务器可以在该域名对应的网址队列中抽取待爬取的网址,对待爬取的网址进行网络数据爬取,如果选取的域名上一次被爬取的时间与当前时间的时间间隔未超过50ms,则可以选取下一个待爬取的域名。
[0044]可选的,可以在域名的网址队列中添加网址,相应的处理过程可以如下:接收网址添加指令,网址添加指令中携带有待添加网址;获取待添加网址对应的域名,如果获取到的域名对应的网址队列中存在与待添加网址相同的网址,则丢弃待添加网址,如果获取到的域名对应的网址队列中不存在与待添加网址相同的网址,则将待添加网址添加到网址队列中。
[0045]在实施中,爬取服务器可以接收网址添加指令,然后对网址添加指令进行解析,获取其中的待添加网址,进而可以获取待添加网址对应的域名。爬取服务器可以在获取到的域名对应的网址队列中查询是否存在与待添加网址相同的网址,如果存在,则丢弃该待添加网址,以提高爬取服务器的处理效率,如果获取到的域名对应的网址队列中不存在与待添加网址相同的网址,则将待添加网址添加到获取到的域名对应的网址队列中。
[0046]可选的,对于网址添加指令中还携带有待添加网址的优先级的情况,相应的处理过程可以如下:如果获取到的域名对应的网址队列中存在与待添加网址相同的网址,且待添加网址的优先级低于或等于网址队列中与待添加网址相同的网址的优先级,则丢弃待添加网址;如果获取到的域名对应的网址队列中存在与待添加网址相同的网址,且待添加网址的优先级高于网址队列中与待添加网址相同的网址的优先级,则将待添加网址添加到网址队列中。
[0047]在实施中,爬取服务器可以对网址添加指令进行解析,获取其中的待添加网址和待添加网址的优先级,进而可以获取待添加网址对应的域名,爬取服务器可以在获取到的域名对应的网址队列中查询是否存在与待添加网址相同的网址,如果存在,则服务器可以判断待添加网址的优先级是否高于网址队列中与待添加网址相同的网址的优先级。如果待添加网址的优先级低于或等于网址队列中与待添加网址相同的网址的优先级,则丢弃待添加网址,如果添加网址的优先级高于网址队列中与待添加网址相同的网址的优先级,则爬取服务器可以将待添加网址添加到网址队列中。
[0048]在实施中,对于爬取服务器是服务器组的情况,服务器组中可以包括存储服务器、频控服务器、请求服务器和处理服务器,如图2所示。其中,存储服务器用于存储大量的网址,并可以将存储的网址发送给频控服务器;频控服务器用于存储域名队列,按照预设的轮询顺序选取待爬取的域名,通过上述判断处理选取待爬取的网址,将待爬取的网址发送给请求服务器;请求服务器可以根据接收到的网址,向相应的网站服务器发送数据请求,以对待爬取的网址进行网络数据爬取,将接收到的网络数据发送给处理服务器;处理服务器用于对获取到的网络数据进行过滤,从其中获取有价值的网络数据,以便进行后续处理。另夕卜,处理服务器从网络数据中获取到网址后,还可以将网址发送给存储服务器,以便对获取到的网址进行网
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1