Относительно сканирования коротких URL-адресов с помощью nutch

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

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, но не нашел никакого прогресса. Пожалуйста, дайте мне решение этой проблемы.

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


person Arjun Kumar Reddy    schedule 25.01.2011    source источник
comment
При сокращении ссылки с помощью is.gd она не содержит реальную страницу, которую вы сканируете, это просто перенаправление . Вот почему Nutch не может его получить.   -  person dirbacke    schedule 01.04.2011


Ответы (2)


Используя 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>

Удачи

person dirbacke    schedule 18.04.2011

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

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

person Pascal Dimassimo    schedule 25.01.2011
comment
Я пытался сделать это, сохраняя глубину 3, но я не могу получить содержимое веб-страницы. И не могли бы вы сказать мне, что я должен изменить в regex-urlfilter.txt? - person Arjun Kumar Reddy; 26.01.2011
comment
regex-urlfilter.txt позволяет вам указать, какой URL-адрес Nutch может или не может следовать. Если вы установили, что is.gd может быть просканировано, вы также должны добавить в эти файлы все другие URL-адреса, URL будет перенаправлять на (например, holykaw.alltop.com) - person Pascal Dimassimo; 26.01.2011