nutch如何修改regex-urlfilter.txt爬取符合条件的链接

例如我在爬取学生在线的时候,发现爬取不到特定的通知,例如《中粮福临门助学基金申请公告》,通过分析发现原来通知的链接被过滤掉了,下面对过滤url的配置文件regex-urlfilter.txt进行分析,以后如果需要修改可以根据自己的情况对该配置文件进行修改:

说明:配置文件中以“#”开头的行为注释,以“-" 开头的表示符合正则表达式就过滤掉,以“+”开头的表示符合正则表达式则保留。正则表达式中"^"表示字符串的开头,"$"表示字符串的结尾,"[]"表示集合。中文部分是我添加的注释

[java] view plain copy

print?

  1. # Licensed to the Apache Software Foundation (ASF) under one or more
  2. # contributor license agreements.  See the NOTICE file distributed with
  3. # this work for additional information regarding copyright ownership.
  4. # The ASF licenses this file to You under the Apache License, Version 2.0
  5. # (the "License"); you may not use this file except in compliance with
  6. # the License.  You may obtain a copy of the License at
  7. #
  8. #     http://www.apache.org/licenses/LICENSE-2.0
  9. #
  10. # Unless required by applicable law or agreed to in writing, software
  11. # distributed under the License is distributed on an "AS IS" BASIS,
  12. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13. # See the License for the specific language governing permissions and
  14. # limitations under the License.
  15. # The default url filter.
  16. # Better for whole-internet crawling.
  17. # Each non-comment, non-blank line contains a regular expression
  18. # prefixed by ‘+‘ or ‘-‘.  The first matching pattern in the file
  19. # determines whether a URL is included or ignored.  If no pattern
  20. # matches, the URL is ignored.
  21. # skip file: ftp: and mailto: urls
  22. #过滤掉file:ftp等不是html协议的链接
  23. -^(file|ftp|mailto):
  24. # skip image and other suffixes we can‘t yet parse
  25. #过滤掉图片等格式的链接
  26. -\.(gif|GIF|jpg|JPG|png|PNG|ico|ICO|css|sit|eps|wmf|zip|ppt|mpg|xls|gz|rpm|tgz|mov|MOV|exe|jpeg|JPEG|bmp|BMP)$
  27. # skip URLs containing certain characters as probable queries, etc.
  28. #-[?*[email protected]=] 过滤掉汗特殊字符的链接,因为要爬取更多的链接,所以修改过滤条件,使包含?=的链接不被过滤掉
  29. -[*[email protected]]
  30. # skip URLs with slash-delimited segment that repeats 3+ times, to break loops
  31. #过滤掉一些特殊格式的链接
  32. -.*(/[^/]+)/[^/]+\1/[^/]+\1/
  33. # accept anything else
  34. #接受所有的链接,这里可以做自己的修改,是的只接受自己规定类型的链接
# Licensed to the Apache Software Foundation (ASF) under one or more# contributor license agreements.  See the NOTICE file distributed with# this work for additional information regarding copyright ownership.# The ASF licenses this file to You under the Apache License, Version 2.0# (the "License"); you may not use this file except in compliance with# the License.  You may obtain a copy of the License at##     http://www.apache.org/licenses/LICENSE-2.0## Unless required by applicable law or agreed to in writing, software# distributed under the License is distributed on an "AS IS" BASIS,# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.# See the License for the specific language governing permissions and# limitations under the License.# The default url filter.# Better for whole-internet crawling.# Each non-comment, non-blank line contains a regular expression# prefixed by ‘+‘ or ‘-‘.  The first matching pattern in the file# determines whether a URL is included or ignored.  If no pattern# matches, the URL is ignored.# skip file: ftp: and mailto: urls#过滤掉file:ftp等不是html协议的链接-^(file|ftp|mailto):# skip image and other suffixes we can‘t yet parse#过滤掉图片等格式的链接-\.(gif|GIF|jpg|JPG|png|PNG|ico|ICO|css|sit|eps|wmf|zip|ppt|mpg|xls|gz|rpm|tgz|mov|MOV|exe|jpeg|JPEG|bmp|BMP)$# skip URLs containing certain characters as probable queries, etc.#-[?*[email protected]=] 过滤掉汗特殊字符的链接,因为要爬取更多的链接,所以修改过滤条件,使包含?=的链接不被过滤掉-[*[email protected]]# skip URLs with slash-delimited segment that repeats 3+ times, to break loops#过滤掉一些特殊格式的链接-.*(/[^/]+)/[^/]+\1/[^/]+\1/# accept anything else#接受所有的链接,这里可以做自己的修改,是的只接受自己规定类型的链接

原因解释:因为爬取的公告链接为(http://www.online.sdu.edu.cn/news/article.php?pid=636514943),链接中含有?和=字符,所以被过滤特殊字符的正则表达式过滤掉,通过修改regex-urlfilter.txt配置文件(如上),最终可以爬取这类公告的链接。

时间: 2024-10-29 16:59:19

nutch如何修改regex-urlfilter.txt爬取符合条件的链接的相关文章

爬取京东商品分类和链接

最近因为工作比较忙也没有更新随笔.昨天下班因为身体不舒服,代码也没有码多少.说码代码也还算不上,毕竟是自己无聊写点小脚本自娱自乐. 今天这篇主要的知识点是使用Python的BeautifulSoup进行多层的遍历. 笔者闲来无事写了个小爬虫,主要是爬取京东商品分类以及对应的连接 如图所示.只是一个简单的哈,不是爬取里面的隐藏的东西. from bs4 import BeautifulSoup as bsimport requestsheaders = { "host": "w

多线程爬取都挺好链接并保存到mongodb

一个比较简单,python3多线程使用requests库爬取都挺好,并使用正则提取下载链接,保存到mongodb #!/usr/bin/env python # -*- coding:utf-8 -*- """ @author:Aiker Zhao @file:doutinghao.py @time:下午8:18 """ import requests import re import pymongo from multiprocessing i

Java分布式爬虫Nutch教程——导入Nutch工程,执行完整爬取

Java分布式爬虫Nutch教程--导入Nutch工程,执行完整爬取 by briefcopy · Published 2016年4月25日 · Updated 2016年12月11日 在使用本教程之前,需要满足条件: 1)有一台Linux或Linux虚拟机 2)安装JDK(推荐1.7) 3)安装Apache Ant 下载Nutch源码: 推荐使用Nutch 1.9,官方下载地址:http://mirrors.hust.edu.cn/apache/nutch/1.9/apache-nutch-1

【Python3 爬虫】06_robots.txt查看网站爬取限制情况

大多数网站都会定义robots.txt文件来限制爬虫爬去信息,我们在爬去网站之前可以使用robots.txt来查看的相关限制信息 例如: 我们以[CSDN博客]的限制信息为例子 在浏览器输入:https://blog.csdn.net/robots.txt 获取到信息如下: 从上图我们可以看出: ①该网站无论用户使用哪种代理都允许爬取 ②但是当爬取/css,/images-等链接的时候是禁止的 ③我们可以看到还存在一个网址Sitemap,j具体解析如下: 网站提供的Sitemap文件(即网站地图

python爬虫——爬取小说 | 探索白子画和花千骨的爱恨情仇(转载)

转载出处:药少敏   ,感谢原作者清晰的讲解思路! 下述代码是我通过自己互联网搜索和拜读完此篇文章之后写出的具有同样效果的爬虫代码: 1 from bs4 import BeautifulSoup 2 import requests 3 4 if __name__ == '__main__': 5 html = requests.get('http://www.136book.com/huaqiangu/') 6 soup = BeautifulSoup(html.content, 'lxml'

python 爬取视频评论生成词云图

首先爬取评论写入文件,用上一篇爬取腾讯是视频的评论的方法提取评论http://blog.51cto.com/superleedo/2126099 代码需要稍作修改如下: #!/usr/bin/env python # -*- coding: utf-8 -*- import re import urllib.request import time import urllib.error ##模拟浏览器安装headers headers=("User-Agent","Mozil

爬取股票scrapy

步骤1.建立工程和Spider scrapy startproject BaiduStocks cd BaiduStocks scrapy genspider stocks baidu.com 步骤2.编写爬虫Spider 配置stocks.py文件 修改返回页面的处理 修改对新增url爬取请求的处理 import scrapy import re class StocksSpider(scrapy.Spider): name = "stocks" start_urls = ['htt

python入门学习之Python爬取最新笔趣阁小说

Python爬取新笔趣阁小说,并保存到TXT文件中      我写的这篇文章,是利用Python爬取小说编写的程序,这是我学习Python爬虫当中自己独立写的第一个程序,中途也遇到了一些困难,但是最后迎刃而解了.这个程序非常的简单,程序的大概就是先获取网页的源代码,然后在网页的源代码中提取每个章节的url,获取之后,在通过每个url去获取文章的内容,在进行提取内容,然后就是保存到本地,一TXT的文件类型保存.大概是这样1:获取网页源代码2:获取每章的url3:获取每章的内容4:下载保存文件中 1

1)⑥爬取腾讯经济相关的部分新闻

1 __author__ = 'minmin' 2 #coding:utf-8 3 import re,urllib,sgmllib 4 5 #根据当前的主页url获取html 6 def getHtml(url): 7 page = urllib.urlopen(url) 8 html = page.read() 9 page.close() 10 return html 11 12 13 #html链接的标签是“a”,链接的属性是“href”,也就是要获得html中所有tag=a,attrs