Извлечь текст из внешнего URL - PullRequest
2 голосов
/ 26 ноября 2010

Я делюсь ссылкой, как Facebook.В настоящее время я выполняю синтаксический анализ метатегов для получения ключевых слов, описаний и т. Д., Но как анализировать страницы такого типа http://en.wikipedia.org/wiki/Wikipedia Для этой страницы нет мета-описания, но Facebook по-прежнему получает следующее описание: Wikipedia (/ ˌwɪkɪˈpiɪˈdi.ə / или /ˌwɪkiˈpiːdi.ə/ WIK-i-PEE-dee-ə) - это бесплатный [3] веб-совместный многоязычный энциклопедический проект, поддерживаемый некоммерческим фондом Викимедиа.Его 17 миллионов статей (более 3,4 миллиона на английском языке) были написаны совместно добровольцами вокруг

. Как мне извлечь такое описание, если на странице не найдено мета-тега описания.

Ответы [ 4 ]

2 голосов
/ 26 ноября 2010

Похоже, что они генерируют описание одинаково Bing делает, что может быть трудно легко создать заново:

Как Bing генерирует описание моего веб-сайта?

Способ, которым вы разрабатываете содержимое веб-страницы, оказывает наибольшее влияние на описание вашей веб-страницы.Когда MSNBot сканирует ваш веб-сайт, он анализирует контент на проиндексированных веб-страницах и генерирует ключевые слова для связи с каждой веб-страницей.MSNBot извлекает содержимое веб-страницы, наиболее релевантное ключевым словам, и создает описание веб-сайта, которое появляется в результатах поиска.Содержимое веб-страницы обычно представляет собой сегменты предложений, которые содержат ключевые слова или информацию в теге описания.Заголовок веб-страницы и URL-адрес также извлекаются и отображаются в результатах поиска.

Если вы измените содержимое веб-страницы, описание вашей веб-страницы может измениться при следующем обновлении индекса Bing.Чтобы повлиять на описание вашего веб-сайта, убедитесь, что ваши веб-страницы эффективно доставляют нужную вам информацию в результатах поиска.Центр веб-мастеров рекомендует следующие стратегии при разработке контента:

* Place descriptive content near the top of each Web page.
* Make sure that each Web page has a clear topic and purpose.
* Create unique <title> tag content for each page.
* Add a Web site description <meta> tag to describe the purpose of

каждая страница на вашем сайте.Например:

> <META NAME="Description"
> CONTENT="Sample text - describe your

http://www.bing.com/toolbox/support/faqs.aspx

Один из вариантов - нажать Bing и попытаться получить описание оттуда.

1 голос
/ 30 ноября 2010

Amazon сталкивается с аналогичной проблемой и имеет довольно новое решение . Очевидно, что он не идеален, но, сочетая его с идеей, которую использует Bing, я бы поспорил, что вы можете получить довольно солидные и интересные теги ключевых слов, сгенерированные автоматически, чтобы соответствовать изначально более подозрительному описанию. Так это будет выглядеть так:
Описание из мета
Интересные предложения по bing \ google
STP как теги, с наведением на контекст.

Я думаю, что, по всей вероятности, это похоже на мушку.
Это решило бы вашу проблему до смешного.

1 голос
/ 26 ноября 2010

Если вы хотите создать программу, которая дает вам хорошее описание произвольного веб-сайта, вам нужно сделать не что иное, как полноценный KI, который мог бы даже пройти тест Тьюринга. Итак, короткий ответ: Вы не можете.

Если вы готовы платить человеческому разуму за то, чтобы написать для вас краткую информацию о веб-странице, поищите в Google "Microjobs". Вы можете создать автоматическое описание задания, например «Написать резюме из двух предложений о веб-странице XY», и поместить за него несколько центов стоимости.

Конечно, вы можете попытаться найти первый абзац текста и извлечь из него первые N предложений, но это не получится на лоте веб-сайтов.

0 голосов
/ 26 ноября 2010

Загрузите эту страницу и разберите для извлечения всего, что вам нужно получить:

System.Net.WebClient client = new System.Net.WebClient();

String url = "http://en.wikipedia.org/wiki/Wikipedia";

String pageHTMLSource = client.DownloadString(url);

//Parse pageHTMLSource
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...