【问题标题】:solr 6.5 with nutch 1.12solr 6.5 和 nutch 1.12
【发布时间】:2017-07-06 11:14:23
【问题描述】:

已成功将 nutch 1.12 与 solr 6.5 连接起来,并爬取了未经身份验证的站点。在尝试抓取经过身份验证的网站时,我无法继续。任何人都可以帮助克服它。

错误:

java.lang.RuntimeException: java.lang.IllegalArgumentException: No form exists: user-login
    at org.apache.nutch.protocol.httpclient.Http.resolveCredentials(Http.java:485)
    at org.apache.nutch.protocol.httpclient.Http.getResponse(Http.java:180)
    at org.apache.nutch.protocol.http.api.HttpBase.getProtocolOutput(HttpBase.java:261)
    at org.apache.nutch.fetcher.FetcherThread.run(FetcherThread.java:295)
Caused by: java.lang.IllegalArgumentException: No form exists: user-login
    at org.apache.nutch.protocol.httpclient.HttpFormAuthentication.getLoginFormParams(HttpFormAuthentication.java:183)
    at org.apache.nutch.protocol.httpclient.HttpFormAuthentication.login(HttpFormAuthentication.java:95)
    at org.apache.nutch.protocol.httpclient.Http.resolveCredentials(Http.java:483)

httpclient-auth.xml:

 <auth-configuration>
    <credentials authMethod="formAuth"
            loginUrl="<url>"
            loginFormId="user-login" 
            loginRedirect="true">
    <loginPostData>
      <field name="name"
          value="*<name>*"/>
      <field name="pass"
          value="*<password>*"/>
      <field name="op"
          value="Log in"/>
    </loginPostData>
   </credentials>
</auth-configuration>

搜索了几个链接,但无法解决。

谢谢。

【问题讨论】:

  • $NUTCH_HOME/conf/nutch-site.xml&lt;property&gt; &lt;name&gt;plugin.includes&lt;/name&gt; &lt;value&gt;protocol-httpclient|urlfilter-regex|parse-(html|tika)|index-(basic|anchor)|indexer-elastic|scoring-opic|urlnormalizer-(pass|regex|basic)&lt;/value&gt;&lt;description&gt;Regular expression naming plugin directory names to include. &lt;/description&gt; &lt;/property&gt;已有的忽略,回复
  • 查看您的错误日志了解详情!

标签: authentication solr web-crawler nutch


【解决方案1】:

您如何确定需要提交的表单?在httpclient-auth.xml 文件中输入以下内容:

loginFormId="user-login" 

所以它试图通过 id 查找登录表单的插件,这意味着表单必须具有user-login id,将此值更改为您尝试抓取的网页中表单登录的正确 id。

【讨论】:

  • 感谢@Jorge Luis,这正是我们面临的错误。如何使用任何发布方法识别网页的表单ID。我们尝试使用开发人员工具来使用表单ID,但无法正常工作@ 987654324@
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-08-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多