Относительно сканирования коротких URL с использованием Nutch - PullRequest
1 голос
/ 25 января 2011

Я использую сканер Nutch для своего приложения, которому необходимо сканировать набор URL-адресов, которые я даю в каталог urls, и извлекать только содержимое этого URL-адреса.Меня не интересует содержание внутренних или внешних ссылок.Поэтому я использовал сканер NUTCH и запустил команду сканирования, задав глубину 1. 1. 1002 *

bin/nutch crawl urls -dir crawl -depth 1

Nutch сканирует URL-адреса и дает мне содержимое заданных URL-адресов.

Я читаюсодержимое с помощью утилиты readseg.

bin/nutch readseg -dump crawl/segments/* arjun -nocontent -nofetch -nogenerate -noparse -noparsedata

При этом я получаю содержимое веб-страницы.

Проблема, с которой я сталкиваюсь, заключается в том, что я даю прямые URL-адреса, такие как

http://isoc.org/wp/worldipv6day/
http://openhackindia.eventbrite.com
http://www.urlesque.com/2010/06/11/last-shot-ye-olde-twitter/
http://www.readwriteweb.com/archives/place_your_tweets_with_twitter_locations.php
http://bangalore.yahoo.com/labs/summerschool.html
http://riadevcamp.eventbrite.com
http://www.sleepingtime.org/

тогда я могу получить содержимое веб-страницы.Но когда я даю набор URL-адресов в виде коротких URL-адресов, таких как

http://is.gd/jOoAa9
http://is.gd/ubHRAF
http://is.gd/GiFqj9
http://is.gd/H5rUhg
http://is.gd/wvKINL
http://is.gd/K6jTNl
http://is.gd/mpa6fr
http://is.gd/fmobvj
http://is.gd/s7uZf***

, я не могу получить содержимое.

Когда я читаю сегменты, он не показывает никакого контента.Ниже вы найдете содержимое файла дампа, считанного из сегментов.

*Recno:: 0
URL:: http://is.gd/0yKjO6
CrawlDatum::
Version: 7
Status: 1 (db_unfetched)
Fetch time: Tue Jan 25 20:56:07 IST 2011
Modified time: Thu Jan 01 05:30:00 IST 1970
Retries since fetch: 0
Retry interval: 2592000 seconds (30 days)
Score: 1.0
Signature: null
Metadata: _ngt_: 1295969171407
Content::
Version: -1
url: http://is.gd/0yKjO6
base: http://is.gd/0yKjO6
contentType: text/html
metadata: Date=Tue, 25 Jan 2011 15:26:28 GMT nutch.crawl.score=1.0 Location=http://holykaw.alltop.com/the-twitter-cool-of-a-to-z?tu4=1 _fst_=36 nutch.segment.name=20110125205614 Content-Type=text/html; charset=UTF-8 Connection=close Server=nginx X-Powered-By=PHP/5.2.14
Content:
Recno:: 1
URL:: http://is.gd/1tpKaN
Content::
Version: -1
url: http://is.gd/1tpKaN
base: http://is.gd/1tpKaN
contentType: text/html
metadata: Date=Tue, 25 Jan 2011 15:26:28 GMT nutch.crawl.score=1.0 Location=http://holykaw.alltop.com/fighting-for-women-who-dont-want-a-voice?tu3=1 _fst_=36 nutch.segment.name=20110125205614 Content-Type=text/html; charset=UTF-8 Connection=close Server=nginx X-Powered-By=PHP/5.2.14
Content:
CrawlDatum::
Version: 7
Status: 1 (db_unfetched)
Fetch time: Tue Jan 25 20:56:07 IST 2011
Modified time: Thu Jan 01 05:30:00 IST 1970
Retries since fetch: 0
Retry interval: 2592000 seconds (30 days)
Score: 1.0*

Я также пытался установить для свойства max.redirects в nutch-default.xml значение 4, но dint не обнаружил никакого прогресса.Пожалуйста, предоставьте мне решение этой проблемы.

Спасибо и всего наилучшего, Арджун Кумар Редди

Ответы [ 2 ]

2 голосов
/ 18 апреля 2011

Используя nutch 1.2, попробуйте отредактировать файл conf / nutch-default.xml найдите http.redirect.max и измените значение как минимум на 1 вместо значения по умолчанию 0.

<property>
  <name>http.redirect.max</name>
  <value>2</value><!-- instead of 0 -->
  <description>The maximum number of redirects the fetcher will follow when
  trying to fetch a page. If set to negative or 0, fetcher won't immediately
  follow redirected URLs, instead it will record them for later fetching.
  </description>
</property>

Удачи

0 голосов
/ 25 января 2011

Вам придется установить глубину 2 или более, потому что первая выборка возвращает код 301 (или 302).Перенаправление будет выполняться на следующей итерации, поэтому вам необходимо увеличить глубину.

Кроме того, убедитесь, что вы разрешаете все URL-адреса, которые будут следовать в вашем regex-urlfilter.txt

...