`

Nutch抓取需要登录的网站

阅读更多

Tomcat自身带的后台管理程序是需要用户登录的,这样的网站如何用Nutch来爬呢?Nutch可以处理Http authentication(BASIC, DIGEST)这种稍显简单的认证,对于普遍流行的用户自定义Form表单以Post或Get方式提交数据认证的情况,Nutch就无能为力了,就更不用说复杂验证码的认证方式了。

 

下面用一个简单的例子说明如何配置Nutch,使其能爬需要Http authentication(BASIC, DIGEST)的站点。

 

1、修改Tomcat配置文件conf/tomcat-users.xml,增加如下配置然后重启,一个用户即可访问所有资源:

 

<role rolename="admin-script"/>
<role rolename="admin-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-gui"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<user password="admin" roles="admin-script,admin-gui,manager-script,manager-gui,manager-jmx,manager-status" username="admin"/>

 

2、修改Nutch配置文件conf/httpclient-auth.xml,增加如下配置,指定访问特定网站的时候需要出示的用户名和密码:

 

<credentials username="admin" password="admin">
  <authscope host="localhost" port="8080"/>
</credentials>

 

3、启用httpclient插件,在nutch-site.xml中重新指定配置项plugin.includes的值,把protocol-http改为protocol-httpclient:

 

<property>
  <name>plugin.includes</name>
  <value>protocol-httpclient|urlfilter-regex|parse-(html|tika)|index-(basic|anchor)|indexer-solr|scoring-opic|urlnormalizer-(pass|regex|basic)</value>
</property>

 

4、准备注入的URL文件:

 

mkdir urls  
echo 'http://localhost:8080/' > urls/url  

 

5、修改URL过滤文件conf/regex-urlfilter.txt限制抓取范围:

 

#-[?*!@=]
+^http://localhost:8080/
-.

 

6、运行爬虫,参数为:

 

bin/nutch crawl urls -dir data -solr http://localhost:8983/solr/collection1 -depth 30 & 

 

7、查看抓取下来的URL及其状态发现,成功!

 

NUTCH/HADOOP视频教程

1
3
分享到:
评论
2 楼 yangshangchuan 2014-08-22  
niubingru 写道
请问如何访问一般的需要登录的网站,比如新浪微博,人人网什么的


用户自定义Form表单以Post或Get方式提交数据认证的情况,Nutch就无能为力了,所以需要自己来实现,虽然不同的网站的情况不一样,但是还是可以设计一个通用的模式:
1、登录的时候验证提交数据的地址;
2、以POST或GET方式提交哪些数据;
3、发送哪些COOKIES;
4、如何指定HTTP请求头信息。
1 楼 niubingru 2014-08-01  
请问如何访问一般的需要登录的网站,比如新浪微博,人人网什么的

相关推荐

    nutch网页爬取总结

    5. **安全抓取**:Nutch 可以遵循 robots.txt 规则,尊重网站的抓取限制,避免对目标网站造成压力。 Nutch 的强大之处在于其模块化的设计,允许用户根据实际需求定制和扩展。通过熟练掌握 Nutch 的使用,你可以建立...

    nutch2.2.1安装步骤.docx

    为了存储和管理 Nutch 抓取的数据,你还需要在 MySQL 数据库中创建一个数据库和表。例如,创建名为 `nutch_test` 的数据库,采用 `latin1` 字符集和 `latin1_swedish_ci` 排序规则。然后创建一个名为 `collection1_...

    基于ApacheNutch和Htmlunit的扩展实现AJAX页面爬虫抓取解析插件nutch-htmlunit.zip

    基于Apache Nutch 1.8和Htmlunit组件,实现对于AJAX加载类型页面的完整页面内容抓取解析。 According to the implementation of Apache Nutch 1.8, we can't get dynamic ...

    nutch

    Nutch 的配置文件(如 `conf/nutch-site.xml`)需要根据实际需求进行调整,比如设置抓取策略、设置抓取间隔、调整抓取范围等。Nutch 还提供了命令行工具,如 `bin/nutch crawl`,用于启动爬虫流程。 **Nutch 入门...

    nutch crawl代码解析

    当运行 Nutch 时,你需要提供至少一个参数,即起始 URL 目录,其他可选参数包括 `-dir`(存储抓取结果的目录)、`-threads`(抓取线程数量)、`-depth`(抓取深度)和 `-topN`(要抓取的页面数量)。 首先,`Crawl`...

    nutch使用&Nutch;入门教程

    还需要配置Nutch的`conf/nutch-site.xml`文件,指定抓取策略、存储路径、爬虫范围等参数。 四、Nutch工作流详解 Nutch的工作流程包括多个步骤,如生成段(Segments)、迭代抓取(Fetch)、解析(Parse)、更新链接...

    Nutch1.7二次开发培训讲义 之 腾讯微博抓取分析

    ### Nutch 1.7 二次开发培训讲义之腾讯微博抓取分析 ...这些步骤对于理解 Nutch 如何处理复杂网站具有重要的指导意义。通过本讲义的学习,开发者可以进一步掌握 Nutch 的核心功能并应用于实际项目中。

    Nutch入门教程 高清 带书签

    1. **种子URL**:启动Nutch时,需要提供一批起始URL(种子URL),Nutch将从这些URL开始抓取。 2. **抓取**:Nutch使用HTTP协议抓取网页,支持多种抓取策略,如深度优先、广度优先等。 3. **解析**:抓取到的网页会被...

    nutch帮助文档;nutch学习 入门

    然后,从Apache Nutch官方网站下载源码,并按照官方文档配置和编译Nutch。 - **理解配置**:熟悉Nutch的配置文件,如`conf/nutch-site.xml`,了解其主要参数和用途。 - **编写种子列表**:定义初始的URL集合(种子...

    Nutch 1.2源码阅读

    - **`crawlDb`**:存储待抓取和已抓取的URL信息,是Nutch抓取策略的基础。 - **`linkDb`**:记录网页间的链接关系,用于计算页面排名(如PageRank算法)。 - **`segments`**:临时存储每次抓取的网页数据,便于后续...

    nutch-访问wap网站

    Nutch在抓取这些网站时,需要模拟移动设备的行为,以便正确解析和获取内容。 二、HTTP头部信息 在HTTP请求中,头部信息扮演着重要角色,它们提供了关于请求的额外上下文信息。在访问WAP网站时,某些服务器可能需要...

    nutch-2.1源代码

    2. **HTML解析与预处理**:Nutch抓取的网页会被解析成DOM结构,以便提取有用的内容,如文本、链接等。预处理步骤包括去除HTML标记、清理HTML实体、链接去重等,以提高后续处理的效率和准确性。 3. **分词与索引**:...

    windows下安装nutch

    4. **Nutch版本**:在例子中使用的是Nutch 0.8版本,但你应该从Apache Nutch的官方网站下载最新的稳定版本,以获取最新的特性和修复。 5. **Tomcat**:Nutch可能需要与Tomcat集成,特别是如果你想使用Nutch的Web...

    Nutch2.3.1 环境搭建

    Nutch2.3.1是Apache Nutch的一个稳定版本,它是一个开源的网络爬虫框架,主要用于抓取、解析和索引互联网上的网页内容。在本文中,我们将深入探讨如何搭建Nutch2.3.1的运行环境,以便进行网页抓取和分析。 **一、...

    nutch 爬虫数据nutch 爬虫数据nutch 爬虫数据nutch 爬虫数据

    在“csdns”这个文件中,可能是Nutch爬虫抓取的一个特定网站或主题的数据。文件可能包含该网站的URL列表、抓取的网页内容、元数据等。通过分析这些数据,可以研究Nutch的抓取效果,比如抓取覆盖率、重复率、错误率等...

    apache-nutch

    2. **索引导入**:Nutch抓取的网页数据可以通过Solr索引导入工具导入到Solr,建立搜索引擎索引。 3. **查询处理**:Solr 支持丰富的查询语法,如布尔逻辑、短语匹配、模糊查询等。 4. **结果排序**:Solr 可以根据...

    nutch日常监控网站

    关于nutch爬虫一些需要监测的网站,为舆情系统或者监控系统或者全控媒体系统做数据的支撑。

Global site tag (gtag.js) - Google Analytics