我正在尝试抓取客户端网站。 客户已经为一个标识网址提供了一些代码,这些代码将验证我们是否进行了抓取并公开了某些默认情况下其他人无法使用的细节。 我只需要先点击该网址,然后我就可以访问任何产品网址并获取详细信息。
在种子中我注入了那个特定的网址。
对我来说爬行工作正常,我能够爬行。
对我来说问题是,当我在初始注入后创建段时,种子URL将不会被提取,因为它已经被提取。由于这个原因,我没有得到某些隐藏的细节,因为没有设置cookie。
我还尝试在seed.txt中指定种子url某些元数据
例如
http://www.example.com/ nutch.score=10 nutch.fetchInterval=60
我想知道在nutch中是否有办法首先获取特定网址,然后再获取网段中的其他网址。
答案 0 :(得分:0)
我很惊讶它甚至适用于第一段(如果我理解正确的话)。 Fetcher通常在多台机器上运行多个Java进程(Hadoop任务),因此cookie只能在一个任务中设置。
我建议你看一下http.enable.cookie.header配置属性。如果cookie值是静态的,您可以使用它来为每个URL注入它。 您还需要将urlmeta.tags设置为“Cookie”,以便此属性传播到外链。
否则,我怀疑你需要更改一些代码,可能是在FetcherThread中。