Показать полную графическую версию : Как или чем можно граббить новости с сайта?
Помогите, пожалуйста с таким вопросом. Есть сайты, на которых регулярно выкладываются новости (сайты различных министерств). Нужно эти новости с них забирать и складывать в простой текстовый файл, ну например вордовский. Чем можно решить эту задачу? У меня просто вообще нет никакого опыта, не знаю даже с какой стороны подступиться.
в простой текстовый файл, ну например вордовский »
"Простой текстовый" (открывающийся хоть в Блокноте, хоть в чём) и "вордовский" — существенно разные вещи.
Со вторым замучаетесь.
Подскажите хоть как-нибудь, хоть в Блокнот, хоть в куда, я не привередничаю.
dislike, ну у самих сайтов наверное есть RSS? Есть программы для чтения RSS наподобии RSSOwl, в большенстве програм есть возможность сохранять новости, ну а про автоматизацию вы ничего не написали, значит не нужна...
ну а про автоматизацию вы ничего не написали, значит не нужна... »
Нужна. Просто мне само собой казалось это очевидным, потому что жаль человека который будет по тысяче раз в день жать ctrl+c, ctrl+v и т.д. У него руки опухнуть через неделю.
Для RSS ставил FeedDemon, естественно никакой автоматизации в нём не нашел. Даже тупо экспорта в ворд нет (зато в Эксель есть :biggrin: )
dislike, При всем моем, сейчас ваша хотелка выглядит как просьба найти кнопку "Сделать зашибись!".
Сайты "различных" министерств работают кто на чем и как только не выкладывают информацию.
Поэтому пока они абстрактно "различные", то разговор получается не о чем.
Пишите конкретные сайты, и что во что складывать.
Плюс желательно опыт пользователей и их способность решать офисные задачи (например "открыть файл с помощью")
Я не специально, я правда не знаю на какой козе подъехать к этой задаче. Всё что мне удавалось найти, сводилось к граббингу информации с одного сайта сразу на свой сайт, соответственно требуется 1) иметь свой сайт 2) встраивать в него код граббера, а это ну совершенно не то, что хочется.
Сайт для примера такой: agro.tatarstan.ru
и что во что складывать. »
Я ж сказал: текст новостей в идеале в ворд. Но и txt сойдет.
dislike, вариантов масса. Всё зависит от того, что на самом деле Вам нужно, в каком именно виде. С какой периодичностью делать запросы. Надо ли отслеживать состояние, дабы не было дублирования информации при запросах. И т.д.
В общем виде это может быть любое средство, умеющее работать с xml.
"C:\Program Files (x86)\Log Parser 2.2\LogParser.exe" "SELECT title, link, description, pubDate, yandex:full-text INTO DATAGRID FROM 'http://agro.tatarstan.ru/rss/agro.xml#/rss/channel/item'" -i:XML -fMode:Tree
http://i.imgur.com/CMAJq11.png
Можно, разумеется, делать вывод не токмо в Grid, но и в текстовый документ, и в CSV.
Option Explicit
Dim strUrl
Dim objDOMDocument
Dim objXMLDOMElement
Dim objXMLDOMSelection
Dim objWord
strUrl = "http://agro.tatarstan.ru/rss/agro.xml"
Set objDOMDocument = WScript.CreateObject("Microsoft.XMLDOM")
objDOMDocument.async = False
If objDOMDocument.load(strUrl) Then
Set objXMLDOMSelection = objDOMDocument.selectNodes("/rss/channel/item")
If Not objXMLDOMSelection Is Nothing Then
Set objWord = WScript.CreateObject("Word.Application")
With objWord.Documents.Add()
For Each objXMLDOMElement In objXMLDOMSelection
With .Range
.InsertAfter objXMLDOMElement.selectSingleNode("title").text & vbLf
.InsertAfter objXMLDOMElement.selectSingleNode("link").text & vbLf
.InsertAfter objXMLDOMElement.selectSingleNode("description").text & vbLf
.InsertAfter objXMLDOMElement.selectSingleNode("pubDate").text & vbLf
.InsertAfter objXMLDOMElement.selectSingleNode("yandex:full-text").text & vbLf
.InsertAfter vbLf
End With
Next
End With
objWord.Visible = True
'objWord.Quit
Set objWord = Nothing
Else
WScript.Echo "Can't parse RSS from [" & strUrl & "]."
WScript.Quit 2
End If
Set objXMLDOMSelection = Nothing
Else
WScript.Echo "Can't load RSS from [" & strUrl & "]."
WScript.Quit 1
End If
WScript.Quit 0
http://i.imgur.com/snfBc0m.png
Точно так же это может быть PowerShell, AutoIt, VB/VBA/VB.net, всяческие С/С++ и т.п.
В любом случае, мне лично ни текстовый документ, ни Word в качестве основы вывода не нравятся. Жду Вашего ответа на вопросы.
что на самом деле Вам нужно, в каком именно виде. »
Как вы понимаете, нужно не совсем мне, но повесили на меня))) Нужно скорее всего как на последней картинке: документ ворд, заголовок новости, мясо новости. Возможно ещё понадобится картинка-иллюстрация оттуда же. Иногда картинка бывает не одна. Какими бы разными ни были министерские сайты, новости они выкладывают по одинаковому шаблону видимо.
С какой периодичностью делать запросы. »
Я думаю, вручную, примерно раз в сутки.
Надо ли отслеживать состояние, дабы не было дублирования информации при запросах. »
Я об этом как-то не подумал. Думаю, логичнее всего брать примерно 5 последних новостей, распихивать их каждую в свой файл, и если возможно сохранять в отдельную папку с соответствующей датой/временем
Как вы понимаете, нужно не совсем мне, но повесили на меня))) »
Понимаю :). «Тыжпрограммист»™.
Так что они хотят с этим документом Word потом делать? Мне нужно понять — глобальная цель их какова? Я пока этого понять не могу, особенно учитывая:
каждую в свой файл »
— зачем?!
Какими бы разными ни были министерские сайты, новости они выкладывают по одинаковому шаблону видимо. »
Не совсем так. Есть худо-бедно отраслевые стандарты на RSS, не более. А внутри могут быть заметные отличия.
Так что они хотят с этим документом Word потом делать? Мне нужно понять — глобальная цель их какова? Я пока этого понять не могу »
Есть человек, редактор, занимается подготовкой агрообзоров (дайджестов новостей). Из них он формирует ленту, разбитую по уровням новостей (федеральный-окружной-региональный) и по разделам Животноводство, растениеводство и т.п.
Если нужно, пример (http://yandex.ru/clck/jsredir?from=yandex.ru%3Bsearch%2F%3Bweb%3B%3B&text=&etext=1391.Rw2Els0KMseXQXZQ6w6vQKcdamXeMeA28alcmybYi2JCsEcBSfyNAvEsMnj-8V4N.72496effe390675a04f4a43ef5f3cd835654fa9b&uuid=&state=PEtFfuTeVD5kpHnK9lio9T6U0-imFY5IshtIYWJN7W-V64A9Yd8Kv-PJgis4UdqY898U4_M9m96IvJ0mhiUpi60kCrq_4HWrhnn0PqnAVLw&data=UlNrNmk5WktYejR0eWJFYk1LdmtxcmM3N1lwUXRiTm9wQ1dXU2FsaVlOQzJ0T01sWTR0RlFlZGs4X3pjVTZ3cmtMRTAwdHl oa1VYbEhIaVNoUmJGeE0tbzA3X25zNGhaUl9sVFp6SzBuRXIwell2ZjJDcGZ0YVlHYUlqZWVidWo4eG4xcTRFNTAtSQ&b64e=2&sign=5ec9b094e0c1b156cd94ea93ffaa348a&keyno=0&cst=AiuY0DBWFJ4BWM_uhLTTxFHvpchlgLRE8rVshwI7lmPbSGtBwCDODBB8-syo11DVjZQUp-u2JZo0WqLrJ4paW6lI9yIxksuBCr5JtCObe1glWieku-4lJnBn6qImKLe0BqM3wf_dTBc0G8OSLoMcoKJwlE8cJaA6dWGN_ay5JLUPKXC67zTGXJh8NtRg6bJYbyMUhCUgkjLSJZrrDroY-yUQ1UwkPS_1LrMIh2D58n0BnRGiURVfp3Ii1-Vap18WsynF5PSxHtWyHiva6at-ag&ref=orjY4mGPRjk5boDnW0uvlrrd71vZw9kpVBUyA8nmgRFrGLbUbTPQU8FljV1G7kXRPwFb6NkeViDj9UuJxqCuO6oyD_P3fKIH ZaqUAExEKZUU3idfHcYj2X5VGvqFb963Fg-vP4qiwnfvcnWl7qvy35Od_388QToP&l10n=ru&cts=1492228611605&mc=3.378783493486176)
каждую в свой файл »
— зачем?! »
Ну а как ещё организовать подачу информации пользователю? Допустим, он захочет ограбить 3-4-5 сайтов,
с каждого прилетит по 5 новостей, в каждой новости окажется по 5 картинок. Всё это запихнуть в один файл? Как минимум ему нужно будет четкое разделение, с какого сайта что прилетело.
Есть человек, редактор, …»
«Мопед не мой…»™ ;)?
Если нужно, пример »
Общий принцип понятен. Вот токмо никаких изображений я там в принципе не вижу. Заголовок, текст, и иногда кривая гиперссылка на источник.
ему нужно будет четкое разделение, с какого сайта что прилетело. »
Ясно. Просто ранее по тексту было сказано другое (расширю цитирование):
Думаю, логичнее всего брать примерно 5 последних новостей, распихивать их каждую в свой файл »
— каждую новость в отдельный файл. Нынешний же вариант вполне логичен.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.