[PHP] RSS feed manipuleren

Pagina: 1
Acties:
  • 95 views sinds 30-01-2008

  • Lifelogger
  • Registratie: Juni 2004
  • Laatst online: 17-05 19:19
Hallo...

Ben een website aan het opzetten en wil daarop graag een klein overzicht van de laatste virussen. Ik heb een RSS feed gevonden die een overizichtje geeft alleen weet ik niet hoe ik die in m'n site moet linken.

Omdat ik de lijst met laatste virussen graag in de stijl van m'n homepage wil hebben, wil ik de RSS feed manipuleren. Ik wil alle rommel eruit filteren, zodat ik alleen de virusnamen over houdt. Die wil ik dan weer in de stijl (lees fonts, lettertype) van m'n site zetten.

Is dat mogelijk om met PHP aan te passen? Of zijn er goede viruslijsten die je zonder reclame, etc in je homepage kan linken?

  • chem
  • Registratie: Oktober 2000
  • Laatst online: 21-05 08:48

chem

Reist de wereld rond

Je zult de RSS feed moeten parsen (zat kant en klare classes voor) en evt. met een regular expression (zat tutorials) een stuk tekst van de title-tag moeten filteren.

Probeer dat eens?

Klaar voor een nieuwe uitdaging.


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Heb je een voorbeeld of url van de RSS feed? Zit de reclame IN de RSS? Is het echt een RSS feed of een XML Documentje ofzo? En voor mijn eigen intresse: Is het een betrouwbare bron?

[ Voor 22% gewijzigd door RobIII op 18-08-2004 14:05 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • Lifelogger
  • Registratie: Juni 2004
  • Laatst online: 17-05 19:19
Dit is de RSS feed:

http://www.viruslist.com/eng/rss/virus.html

Dit is onderdeel van Kaspersky Antivirus.

[ Voor 26% gewijzigd door Lifelogger op 18-08-2004 14:10 ]


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Lifelogger schreef op 18 augustus 2004 @ 14:10:
Dit is de RSS feed:

http://www.viruslist.com/eng/rss/virus.html

Dit is onderdeel van Kaspersky Antivirus.
Ik zie geen reclame :? Bedoel je dat spul in channel node (<title>, <description> e.d.)? En waar hebben ze dan "opmaak" gebruikt? Welke "rommel" heb je het over?

Dit is gewoon normale XML, en kun je dus gewoon parsen. Zelf effe kiezen welke nodes je wil weergeven en welke niet et voila.

* RobIII ziet het probleem niet...

[ Voor 31% gewijzigd door RobIII op 18-08-2004 14:13 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • Lifelogger
  • Registratie: Juni 2004
  • Laatst online: 17-05 19:19
Heb het ook niet over reclame! :)

Ik wil alleen alles uit het document filteren zodat ik alleen de virusnamen over houdt. De rest van de tags moeten weg. Het over gebleven gedeelte (lees: alleen virusnamen) wil ik op m'n site plaatsen.

Heb alleen geen idee hoe ik dit moet aanpakken en hoe ik de inhoud van het document aan de hand van een variabele kan inlezen.

Sorry, maar hoe moet ik een document 'parsen'??? Ben daar niet in thuis.

[ Voor 11% gewijzigd door Lifelogger op 18-08-2004 14:15 ]


  • pjvandesande
  • Registratie: Maart 2004
  • Laatst online: 21-05 14:59

pjvandesande

GC.Collect(head);

Ik zie geen probleem, je tags maken het makkelijk om te parsen. En overbodige dingen die er in staan toon je gewoon niet op je site.

  • chem
  • Registratie: Oktober 2000
  • Laatst online: 21-05 08:48

chem

Reist de wereld rond

Lifelogger schreef op 18 augustus 2004 @ 14:14:


Sorry, maar hoe moet ik een document 'parsen'??? Ben daar niet in thuis.
Daar hebben we google voor he, [google=php class rss parse] zal vast iets moois geven.

Klaar voor een nieuwe uitdaging.


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Lifelogger schreef op 18 augustus 2004 @ 14:14:
Sorry, maar hoe moet ik een document 'parsen'??? Ben daar niet in thuis.
Ik zou me eerst even verdiepen in XML en het hele idee erachter ;)

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • Lifelogger
  • Registratie: Juni 2004
  • Laatst online: 17-05 19:19
Daar heb ik de tijd helaas niet voor. :( Dan moet ik het maar laten schieten...

  • pjvandesande
  • Registratie: Maart 2004
  • Laatst online: 21-05 14:59

pjvandesande

GC.Collect(head);

Lifelogger schreef op 18 augustus 2004 @ 14:17:
Daar heb ik de tijd helaas niet voor. :( Dan moet ik het maar laten schieten...
Wij schrijven het niet voor je, maar ik denk dat je wel een kant en klaar script kan vinden met wat google werk of een bekende script site.

[ Voor 6% gewijzigd door pjvandesande op 18-08-2004 14:19 ]


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Lifelogger schreef op 18 augustus 2004 @ 14:17:
Daar heb ik de tijd helaas niet voor. :( Dan moet ik het maar laten schieten...
Ik ben niet zo'n PHP-er, maar in ASP VB6 had ik het in 2 minuten werkend:
ASP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
    Dim oXMLDoc As Object
    Dim oItems As Object
    Dim oItem As Object
    
    Set oXMLDoc = CreateObject("MSXML.DomDocument")
    oXMLDoc.async = False
    oXMLDoc.Load "http://www.viruslist.com/eng/rss/virus.html"
    
    Set oItems = oXMLDoc.selectnodes("rss/channel/item")
    
    For Each oItem In oItems
        Debug.Print "Title: " & oItem.selectsinglenode("title").nodetypedvalue
        Debug.Print "Cat: " & oItem.selectsinglenode("category").nodetypedvalue
        Debug.Print "Date: " & oItem.selectsinglenode("pubDate").nodetypedvalue
        Debug.Print "----------------"
    Next
    
    Set oItem = Nothing
    Set oItems = Nothing
    Set oXMLDoc = Nothing


Output:
Title: I-Worm.Mydoom.q
Cat: Internet E-mail Worms
Date: 16 Aug 2004 01:30:00 +0400
----------------
Title: Trojan.SymbOS.Mosquit.a
Cat: Trojan horses
Date: 11 Aug 2004 05:50:00 +0400
----------------
Title: I-Worm.Bagle.al
Cat: Internet E-mail Worms
Date: 10 Aug 2004 11:50:00 +0400
----------------
Title: Backdoor.Agent.b
Cat: Backdoor
Date: 06 Aug 2004 01:18:00 +0400
----------------
Title: I-Worm.Amus.a
Cat: Internet E-mail Worms
Date: 05 Aug 2004 07:46:00 +0400
----------------
Title: Backdoor.WinCE.Brador.a
Cat: Backdoor
Date: 05 Aug 2004 03:03:00 +0400
----------------
Title: I-Worm.NetSky.o
Cat: Internet E-mail Worms
Date: 04 Aug 2004 01:01:00 +0400
----------------
Title: Win32.Henky.Rotten.1408
Cat: Win32 Viruses
Date: 04 Aug 2004 08:17:00 +0400
----------------
Title: I-Worm.Netsky.m
Cat: Internet E-mail Worms
Date: 03 Aug 2004 08:09:00 +0400
----------------
Title: I-Worm.Bagle.ah
Cat: Internet E-mail Worms
Date: 03 Aug 2004 07:29:00 +0400
----------------


edit:

Had 't effe vlug in VB gegooid om te testen... In ASP werkt 'ie om een of andere reden niet (Dim xxx as bla enzo zijn verwijderd, en ook CreateObject is vervangen door server.createobject. Ook debug.print is vervangen door Response.write... Het zou dus moeten werken, maar hij laadt de XML niet eens :?

...hmm, het parseerror.reason property bevat "No data is available for the requested resource." :?

|:( dat wist ik ook (ooit :P). Zie http://support.microsoft....aspx?scid=kb;EN-US;281142 voor meer info.

[ Voor 131% gewijzigd door RobIII op 18-08-2004 14:45 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • Lifelogger
  • Registratie: Juni 2004
  • Laatst online: 17-05 19:19
Dank voor je moeitje. Maar ik moet helaas zeggen dat ik geen ASP ken... Ken alleen wat PHP.

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Lifelogger schreef op 18 augustus 2004 @ 14:23:
Dank voor je moeitje. Maar ik moet helaas zeggen dat ik geen ASP ken... Ken alleen wat PHP.
Dit heb je toch zo omgeschreven naar PHP lijkt me? Basic is echt niet zo moeilijk om te lezen, en volgens mij (maar nogmaals, ik ben niet zo'n PHP-er) is dit relatief makkelijk om te zetten in PHP.

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • Basszje
  • Registratie: Augustus 2000
  • Laatst online: 23-05 19:44

Basszje

Reisvaap!]

RobIII schreef op 18 augustus 2004 @ 14:27:
[...]

Dit heb je toch zo omgeschreven naar PHP lijkt me? Basic is echt niet zo moeilijk om te lezen, en volgens mij (maar nogmaals, ik ben niet zo'n PHP-er) is dit relatief makkelijk om te zetten in PHP.
Met daarbij de toevoeging dat je het beter zal kan leren die parsen, want die XML functies van PHP wordt je niet bepaald vrolijk van :)

Beware of listening to the imposter; you are undone if you once forget that the fruits of the earth belong to us all, and the earth itself to nobody.


  • Lifelogger
  • Registratie: Juni 2004
  • Laatst online: 17-05 19:19
RobIII schreef op 18 augustus 2004 @ 14:27:
[...]

Dit heb je toch zo omgeschreven naar PHP lijkt me? Basic is echt niet zo moeilijk om te lezen, en volgens mij (maar nogmaals, ik ben niet zo'n PHP-er) is dit relatief makkelijk om te zetten in PHP.
Hoe moet ik dat omschrijven naar PHP als ik niet begrijp wat je daar in ASP geschreven hebt? Ik ben normaal gesproken alleen een webdesigner en doe niet veel programmeer werk op wat html en PHP na. De rest zegt mij helemaal niets! Dus ook jou ASP code niet.

  • KnoppenSpook
  • Registratie: Augustus 2000
  • Laatst online: 04-09-2023
Je kan natuurlijk ook vrij makkelijk voor zoiets een xsl schrijven...

/me weet geen leuke quote voor in zijn signature


  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

Lifelogger schreef op 18 augustus 2004 @ 14:31:
[...]


Hoe moet ik dat omschrijven naar PHP als ik niet begrijp wat je daar in ASP geschreven hebt? Ik ben normaal gesproken alleen een webdesigner en doe niet veel programmeer werk op wat html en PHP na. De rest zegt mij helemaal niets! Dus ook jou ASP code niet.
laat het dan door iemand doen die er wel verstand van heeft :?

  • pjvandesande
  • Registratie: Maart 2004
  • Laatst online: 21-05 14:59

pjvandesande

GC.Collect(head);

Basszje schreef op 18 augustus 2004 @ 14:28:
[...]


Met daarbij de toevoeging dat je het beter zal kan leren die parsen, want die XML functies van PHP wordt je niet bepaald vrolijk van :)
Maar dat kun je altijd nog zelf creatief aan de gang. Is even wat werk, maar in de tijd dat hij nu bezig is met zoeken had hij het al af kunnen hebben. :Y)

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Ah, de ASP (dus niet VB :X ) versie werkt nu ook :Y)
ASP.NET Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
    Dim oXMLDoc
    Dim oItems
    Dim oItem
    Dim oXMLHTTP

    Set oXMLHTTP = Server.CreateObject("Microsoft.XMLHTTP")
    oXMLHTTP.Open "GET","http://www.viruslist.com/eng/rss/virus.html",false
    oXMLHTTP.SetRequestHeader "Content-type", "text/xml"
    oXMLHTTP.Send

    Set oXMLDoc = CreateObject("MSXML.DomDocument")
    oXMLDoc.async = False
    oXMLDoc.LoadXML oXMLHTTP.ResponseText
    Set oXMLHTTP = Nothing

    Set oItems = oXMLDoc.selectnodes("rss/channel/item")
    
    For Each oItem In oItems
        Response.write "Title: " & oItem.selectsinglenode("title").nodetypedvalue & "<br>" & vbCrLf
        Response.write "Cat: " & oItem.selectsinglenode("category").nodetypedvalue & "<br>" & vbCrLf
        Response.write "Date: " & oItem.selectsinglenode("pubDate").nodetypedvalue & "<br>" & vbCrLf
        Response.write "----------------" & "<br>" & vbCrLf
    Next
    
    Set oItem = Nothing
    Set oItems = Nothing
    Set oXMLDoc = Nothing

Ter referentie voor de search gebruikers :P
Overigens geen errorhandling e.d. ingebouwd :X

offtopic:
:w questa! Hoe'st?

[ Voor 48% gewijzigd door RobIII op 18-08-2004 16:02 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • Ajunne
  • Registratie: December 2001
  • Laatst online: 09-09-2025

Ajunne

Uitje

Aangezien niemand deze 'arme jongen' zijn vraag beantwoordt, zal ik het maar doen zeker...

Je kunt de kant en klare functies van rssparse downloaden, en dan kun je heel makkelijk rss files inlezen. Gewoon even die files unzippen en in je php-folder plaatsen en includen.

Ik doe het zelf zo:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
require_once('rss_parse.inc');
$rss = new MagpieRSS(file_get_contents("/pad/naar/rss-file.xml"));
echo "<ul>\n";
foreach (array_slice($rss->items, 0, 5) as $item )
{
    $title = $item[title];
    $link = $item[link];
    $time = strtotime($item[pubdate]);
    echo sprintf("<li>%s - <a href=\"%s\" title=\"%s\" target=\"_blank\">%s</a></li>\n", date("H:i", $time), $link, $link, $title);
}
echo "</ul>\n";
?>


Deze neemt dus de eerste 5 dingen uit die rss file en toont ze in een unordered list in html. Het aantal kun je aanpassen bij de array_slice()-functie. En wat je inleest uit de rss komt dus in de $item terecht.

(edit: oeps, verkeerde link)

[ Voor 75% gewijzigd door Ajunne op 18-08-2004 17:40 ]


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Ajunne schreef op 18 augustus 2004 @ 17:29:
Aangezien niemand deze 'arme jongen' zijn vraag beantwoordt, zal ik het maar doen zeker...
...ja
er stonden 19 loze replies voor de jouwe :?

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • Lifelogger
  • Registratie: Juni 2004
  • Laatst online: 17-05 19:19
@Ajunne

Dank voor de hulp! Daar kan ik tenminste iets mee! :)

  • JeroenT
  • Registratie: Juli 2001
  • Laatst online: 07:41

JeroenT

hoi!

RobIII schreef op 18 augustus 2004 @ 17:45:
[...]

...ja
er stonden 19 loze replies voor de jouwe :?
Je komt hier een tikkeltje arrogant over... Leuk voor je dat je het in ASP/VB kunt , maar de TS vroeg om een PHP oplossing :P

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Klubbheads schreef op 18 augustus 2004 @ 18:22:
[...]

Je komt hier een tikkeltje arrogant over... Leuk voor je dat je het in ASP/VB kunt , maar de TS vroeg om een PHP oplossing :P
Om toch even te reageren:

a) Jij hebt al helemaal geen zinnig woord in dit topic gezegd, kom je je alleen bemoeien :? Sterker: Ik zie je zelden in P&W. Zeg dan niks en laat het topic gewoon wegzakken...
b) Het is niet de bedoeling van GoT dat we alles voorkauwen. Ik vond dan ook dat ik al ver ging met het voor te kauwen in ASP (jaja, weliswaar in ASP maar toch)
c) Werd hij hier prima geholpen, maar verwachten we dus zelf ook inzet (zie b). TS roept gewoon "geen zin/geen tijd" en dus moeten wij het maar voor hem doen?
d) De reactie van Ajunne kwam juist bij mij arrogant over...

Maar goed, zand erover en laten we dit topic nou niet vergallen?

[ Voor 37% gewijzigd door RobIII op 18-08-2004 19:38 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • simenon
  • Registratie: Januari 2001
  • Laatst online: 03-02-2023
RobIII schreef op 18 augustus 2004 @ 18:26:
[...]

Om toch even te reageren:

a) Jij hebt al helemaal geen zinnig woord in dit topic gezegd, je komt je nu alleen bemoeien :? Sterker: Ik zie je zelden/nooit in P&W. Zeg dan niks en laat het topic gewoon wegzakken...
en wil jij soms zeggen dat deze bijdrage van jou dan wel nuttig is.
[b][message=21459593,noline]
b) Het is niet de bedoeling van GoT dat we alles voorkauwen. Ik vond dan ook dat ik al ver ging met het voor te kauwen in ASP (jaja, weliswaar in ASP maar toch)
PHP is niet ASP, got wordt toch al genoeg verziekt door noobs zoals jij die toch alleen kunnen verwijzen naar RTFM, google, of GOT search
[b][message=21459593,noline]
c) Werd hij hier prima geholpen, maar verwachten we dus zelf ook inzet (zie b). TS roept gewoon "geen zin/geen tijd" en dus moeten wij het maar voor hem doen?
De tijd dat je bezig bent met zeiken had je hem ook kunnen helpen
[b][message=21459593,noline]
d) De reactie van Ajunne kwam juist bij mij arrogant over...
Die van mij vast ook
[b][message=21459593,noline]
Maar goed, zand erover en laten we dit topic nou niet vergallen?
is allang gebeurt, net als het grootste gedeelte van de leden hier die denken dat als ze bij tweakers.net zijn geweest overal verstand van hebben

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 06:53

gorgi_19

Kruimeltjes zijn weer op :9

Even dicht.....

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 06:53

gorgi_19

Kruimeltjes zijn weer op :9

En hij blijft maar lekker dicht :) Dit topic beschouw ik als verloren; het heeft een perfecte voedingsbodem om elkaar lekker af te gaan flamen vanaf nu en daar zijn betere kanalen voor. Ik hoef dat iig niet in Programming & Webscripting te zien.

simenon, als je een reactie ziet wat naar jou idee niet door de beugel kan, ga dan zelf niet met de botte bijl er op inhakken. Da's een taak van moderators, als je een TR / SeM is dat voldoende. Als moderator hebben iets meer mogelijkheden om een topic bij te sturen en in te grijpen.

Sowieso denk ik dat de discussie wel op z'n einde is, al veel posts eerder. [rml]Lifelogger in "[ PHP] RSS feed manipuleren"[/rml] is het punt; topicstarter geeft aan dat hij het zelf niet wil programmeren omdat hij de tijd niet heeft er voor.
Programming & Webscripting gaat over het zelf programmeren van zaken, niet om kant klare oplossingen te geven. Anders krijg je te snel dat mensen 'ff een vraagje dumpen wie een oplossing voor m'n probleem kan maken'.
Een van de redenen dat we hier zo fel tegen script request zijn en waarom eerdere posters ook geen complete vooruitgekauwd voorbeeld geven. Immers, met een aantal duidelijke hints moet je er zelf verder uit willen komen. Wil je graag dat mensen het je volledig uitleggen, dan kan dat, maar dan komt er normaliter wel een factuur bij.

Anyway, dicht.

Digitaal onderwijsmateriaal, leermateriaal voor hbo

Pagina: 1

Dit topic is gesloten.