Как или чем можно граббить новости с сайта?

Аватара пользователя
dislike

Как или чем можно граббить новости с сайта?

Сообщение dislike »

Помогите, пожалуйста с таким вопросом. Есть сайты, на которых регулярно выкладываются новости (сайты различных министерств). Нужно эти новости с них забирать и складывать в простой текстовый файл, ну например вордовский. Чем можно решить эту задачу? У меня просто вообще нет никакого опыта, не знаю даже с какой стороны подступиться.
Аватара пользователя
mwz

Re: Как или чем можно граббить новости с сайта?

Сообщение mwz »

Цитата dislike:



в простой текстовый файл, ну например вордовский
Как или чем можно граббить новости с сайта?




"Простой текстовый" (открывающийся хоть в Блокноте, хоть в чём) и "вордовский" — существенно разные вещи.

Со вторым замучаетесь.
Аватара пользователя
dislike

Re: Как или чем можно граббить новости с сайта?

Сообщение dislike »

Подскажите хоть как-нибудь, хоть в Блокнот, хоть в куда, я не привередничаю.
Аватара пользователя
dislike

Re: Как или чем можно граббить новости с сайта?

Сообщение dislike »

Подскажите хоть как-нибудь, хоть в Блокнот, хоть в куда, я не привередничаю.
Аватара пользователя
freese

Re: Как или чем можно граббить новости с сайта?

Сообщение freese »

Цитата freese:



ну а про автоматизацию вы ничего не написали, значит не нужна...
Как или чем можно граббить новости с сайта?




Нужна. Просто мне само собой казалось это очевидным, потому что жаль человека который будет по тысяче раз в день жать ctrl+c, ctrl+v и т.д. У него руки опухнуть через неделю.

Для RSS ставил FeedDemon, естественно никакой автоматизации в нём не нашел. Даже тупо экспорта в ворд нет (зато в Эксель есть Изображение )
Аватара пользователя
mrcnn

Re: Как или чем можно граббить новости с сайта?

Сообщение mrcnn »

Я не специально, я правда не знаю на какой козе подъехать к этой задаче. Всё что мне удавалось найти, сводилось к граббингу информации с одного сайта сразу на свой сайт, соответственно требуется 1) иметь свой сайт 2) встраивать в него код граббера, а это ну совершенно не то, что хочется.



Сайт для примера такой: agro.tatarstan.ru




Цитата lxa85:



и что во что складывать.
Как или чем можно граббить новости с сайта?




Я ж сказал: текст новостей в идеале в ворд. Но и txt сойдет.
Аватара пользователя
dislike

Re: Как или чем можно граббить новости с сайта?

Сообщение dislike »

dislike, вариантов масса. Всё зависит от того, что на самом деле Вам нужно, в каком именно виде. С какой периодичностью делать запросы. Надо ли отслеживать состояние, дабы не было дублирования информации при запросах. И т.д.



В общем виде это может быть любое средство, умеющее работать с xml.



LogParser

[spoiler]Код:
[/spoiler]

Код: Выделить всё

"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

Изображение



Можно, разумеется, делать вывод не токмо в Grid, но и в текстовый документ, и в CSV.







VBScript

[spoiler]Код:
[/spoiler]

Код: Выделить всё

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

Изображение







Точно так же это может быть PowerShell, AutoIt, VB/VBA/VB.net, всяческие С/С++ и т.п.



В любом случае, мне лично ни текстовый документ, ни Word в качестве основы вывода не нравятся. Жду Вашего ответа на вопросы.
Аватара пользователя
Iska

Re: Как или чем можно граббить новости с сайта?

Сообщение Iska »

Цитата Iska:



что на самом деле Вам нужно, в каком именно виде.
Как или чем можно граббить новости с сайта?




Как вы понимаете, нужно не совсем мне, но повесили на меня))) Нужно скорее всего как на последней картинке: документ ворд, заголовок новости, мясо новости. Возможно ещё понадобится картинка-иллюстрация оттуда же. Иногда картинка бывает не одна. Какими бы разными ни были министерские сайты, новости они выкладывают по одинаковому шаблону видимо.




Цитата Iska:



С какой периодичностью делать запросы.
Как или чем можно граббить новости с сайта?




Я думаю, вручную, примерно раз в сутки.




Цитата Iska:



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




Я об этом как-то не подумал. Думаю, логичнее всего брать примерно 5 последних новостей, распихивать их каждую в свой файл, и если возможно сохранять в отдельную папку с соответствующей датой/временем
Ответить

Вернуться в «Вебмастеру»