cyclo Skrevet 7. november 2007 Del Skrevet 7. november 2007 (endret) Jeg snakker om generelt sett er ikke dette noe de fleste vil ha bruk for, og veldig sjeldent i jobbsammenheng. At du drar frem masse spesielle saker, som de fleste aldri noen sinne vil komme borti argumenterer vel ikke for din sak. Å si at: Hvis du ikke kan få tilgang til et bedre grensesnitt/API så er det neppe noe "lovlig" eller legitimt du skal drive med. Og i alle fall ikke noe du kommer til å få bruk for senere. er langt i fra det samme som så si at man generelt sett.... og veldig sjelden.... Indekseringstjenester er forøvrig ikke akkurat noe som "ingen" jobber med. Det er ganske mange personer som har jobbet eller jobber med nettopp det. Og forresten skal man bruke det argumenter så kan jo det samme sies om nesten alt. Skal man bare lære seg å gjøre ting man helt sikkert kommer til å trenge i en fremtidig jobbsituasjon? Men du er så nedgravd i dine egne saker, at du nekter å høre på noen andre, så jeg gidder ikke prøve å diskutere med deg en gang. Det var jo et bra argument. Så du mener at googles indekseringstjeneste er noe jeg er "nedgravd" i? Det blir omtrent som å skulle diskutere politikk med kristne, som har det eneste argumentet "jammen det står i bibelen". Så å komme med eksempler på steder man utnytter en spesiell teknologi, er det samme som å si at "jammen det står i bibelen"? Forøvrig så har du fortsatt ikke kommet med noe som helst motargument, bortsett fra dårlige forsøk på fornærmelser. Endret 7. november 2007 av cyclo Lenke til kommentar
Harald Staff Skrevet 7. november 2007 Del Skrevet 7. november 2007 Ikke mate trollet. Lenke til kommentar
Manfred Skrevet 8. november 2007 Del Skrevet 8. november 2007 Det var ikke et forsøk på en fornærmelse, bare en informasjon om at jeg orker ikke synke til ditt nivå, når det kommer til diskusjon. Harald: Jeg regner med det er meg du kaller et forumtroll? Lenke til kommentar
Harald Staff Skrevet 8. november 2007 Del Skrevet 8. november 2007 Das rite. Egentlig virker du bare som en helt allminnelig kranglefant, men jeg vet du har en forkjærlighet for ladet språk, så Lenke til kommentar
Manfred Skrevet 8. november 2007 Del Skrevet 8. november 2007 Jeg har bare sterke meninger, ikke et forumtroll hehe. Lenke til kommentar
GeirGrusom Skrevet 8. november 2007 Del Skrevet 8. november 2007 (endret) HTML parsing er enkelt. Eneste kranglete tingene man komme utfor, er gammel HTML kode der <br> ikke er ugyldig. Hvis du bare skal hente ut ting, er det rett og slett å tenke "Hva skille det jeg skal hente fra resten av teksten?" ofte er det et mønster i dokumentene, siden de som regel er et resultat av et script. Dette er ikke rakkettvitenskap, og personlig synes jeg det hverken er utfordrende eller interresant. En som har litt kontroll på hva han driver med, burde ikke støte på mange problemer med å lese spesifikk informasjon fra en webside. som eksempel legger jeg med en liten del av IRC boten min som laster ned en quote fra bash.org og viser det i chatten. Klikk for å se/fjerne innholdet nedenfor using System;using System.Collections.Generic; using System.Text; namespace GrusomBot { public class QuoteCommand : ICommand { #region ICommand Members public string Name { get { return "quote"; } } public void ParseString(string parameters, string channel, sharpdrop.UserPermission permissions, Meebey.SmartIrc4net.IrcMessageData data) { string quotefile = null; string quote; if (parameters.StartsWith("#")) { int number = 0; if (int.TryParse(parameters.Substring(1), out number)) quotefile = DownloadQuote(number); } else quotefile = DownloadRandomPage(); if (string.IsNullOrEmpty(quotefile)) quote = "Unable to get quote"; else quote = FindFirstQuoteInFile(quotefile); string[] lines = quote.Split(new string[] {Environment.NewLine, "\n", "\r"}, StringSplitOptions.RemoveEmptyEntries); foreach (string line in lines) { sharpdrop.SharpDrop.irc.SendMessage(Meebey.SmartIrc4net.SendType.Action, channel, line); } } public string DownloadQuote(int number) { System.Net.WebClient client = new System.Net.WebClient(); string ret = client.DownloadString("http://www.bash.org/?quote=" + number.ToString()); client.Dispose(); return ret; } public string DownloadRandomPage() { System.Net.WebClient client = new System.Net.WebClient(); string ret = client.DownloadString("http://www.bash.org/?random"); client.Dispose(); return ret; } public string FindFirstQuoteInFile(string file) { string find_first = "<p class=\"qt\">"; string find_last = "</p>"; int index_of_quote = file.IndexOf(find_first); if (index_of_quote == -1) return "Quote does not exist."; int end_index = file.IndexOf(find_last, index_of_quote); string quote = file.Substring(index_of_quote + find_first.Length, end_index - (index_of_quote + find_first.Length)); quote = System.Web.HttpUtility.HtmlDecode(quote); quote = quote.Replace("<br />", "\n"); return quote; } #endregion } } edit: Curses! dette er VB ikke C# forumet! Endret 8. november 2007 av GeirGrusom Lenke til kommentar
cyclo Skrevet 8. november 2007 Del Skrevet 8. november 2007 (endret) Klikk for å se/fjerne innholdet nedenfor using System;using System.Collections.Generic; using System.Text; namespace GrusomBot { public class QuoteCommand : ICommand { #region ICommand Members public string Name { get { return "quote"; } } public void ParseString(string parameters, string channel, sharpdrop.UserPermission permissions, Meebey.SmartIrc4net.IrcMessageData data) { string quotefile = null; string quote; if (parameters.StartsWith("#")) { int number = 0; if (int.TryParse(parameters.Substring(1), out number)) quotefile = DownloadQuote(number); } else quotefile = DownloadRandomPage(); if (string.IsNullOrEmpty(quotefile)) quote = "Unable to get quote"; else quote = FindFirstQuoteInFile(quotefile); string[] lines = quote.Split(new string[] {Environment.NewLine, "\n", "\r"}, StringSplitOptions.RemoveEmptyEntries); foreach (string line in lines) { sharpdrop.SharpDrop.irc.SendMessage(Meebey.SmartIrc4net.SendType.Action, channel, line); } } public string DownloadQuote(int number) { System.Net.WebClient client = new System.Net.WebClient(); string ret = client.DownloadString("http://www.bash.org/?quote=" + number.ToString()); client.Dispose(); return ret; } public string DownloadRandomPage() { System.Net.WebClient client = new System.Net.WebClient(); string ret = client.DownloadString("http://www.bash.org/?random"); client.Dispose(); return ret; } public string FindFirstQuoteInFile(string file) { string find_first = "<p class=\"qt\">"; string find_last = "</p>"; int index_of_quote = file.IndexOf(find_first); if (index_of_quote == -1) return "Quote does not exist."; int end_index = file.IndexOf(find_last, index_of_quote); string quote = file.Substring(index_of_quote + find_first.Length, end_index - (index_of_quote + find_first.Length)); quote = System.Web.HttpUtility.HtmlDecode(quote); quote = quote.Replace("<br />", "\n"); return quote; } #endregion } } Holy crap, det var et _langt_ script. Derfor jeg holder meg unna java, c#, etc. om mulig når jeg parser html. Samme greia hadde vært på noen helt få linjer i perl Og ja, parsing er meget enkelt, om man bare skal hente ut info. Endret 8. november 2007 av cyclo Lenke til kommentar
GeirGrusom Skrevet 8. november 2007 Del Skrevet 8. november 2007 Det er ikke et script Dette blir native code vettu string find_first = "<p class=\"qt\">";string find_last = "</p>"; int index_of_quote = file.IndexOf(find_first); if (index_of_quote == -1) return "Quote does not exist."; int end_index = file.IndexOf(find_last, index_of_quote); string quote = file.Substring(index_of_quote + find_first.Length, end_index - (index_of_quote + find_first.Length)); quote = System.Web.HttpUtility.HtmlDecode(quote); quote = quote.Replace("<br />", "\n"); return quote; Dette er koden som henter ut selve quoten, resten er bot-relatert kode. Lenke til kommentar
cyclo Skrevet 16. november 2007 Del Skrevet 16. november 2007 Det er ikke et script Dette blir native code vettu Dette er koden som henter ut selve quoten, resten er bot-relatert kode. Eh, jau. Sånn går det når man skriver uten å tenke seg om. Vet jo godt at det ikke er et script ;-) Forøvrig har jeg faktisk brukt en del c# i det siste, rett og slett for å unngå sirupsfølelsen man får med java Men slike ting gjør jeg alltid i perl. Og bare for å være plagsom (ja jeg vet jeg er litt slem), men den kodebiten som henter ut selve quoten som du postet hadde jeg skrevet på 3 linjer i perl ;-) Faktisk hadde hele koden du orginalt postet ikke vært særlig lengre i perl enn koden som hentet quoten i c#. Forøvrig så vet jeg ikke om jeg ville valgt perl å skrive en irc-bot i. (Det er fullstendig mulig). Jeg skrev forresten en irc bot selv i java for mange mange år siden. Om jeg skulle gjort det du har gjort her (og for all del ikke ta dette som kritikk - det er bare en idemyldring fra min side) var å skrive en "generisk" quotehenter som kan kalle opp ett (eller flere) perl script. La perl scriptet hente selve quoten og returnere den til c# applikasjonen. Da får du fordelen av å kunne lage nye "quotehentere" på et par linjer, meget lett. Lenke til kommentar
Jolo Skrevet 26. november 2007 Forfatter Del Skrevet 26. november 2007 Rart at så mange gode programerere har skrevet, men ingen har svart på spørsmålet mitt. Og for å si konkret hva programmet skal brukes til. Det skal gå innom diverse nyhetssider jeg leser, hente ut artikler og lagre dem i .txt format slik at jeg kan lese dem senere og på en mye enklere måte. Jeg brukte klokka som eksemple fordi jeg tenkte at det var lett å vise hvordan man skulle gjøre det med et lett eksempel, men var vist noen som ikke skjønte det. Lenke til kommentar
aadnk Skrevet 26. november 2007 Del Skrevet 26. november 2007 (endret) Rart at så mange gode programerere har skrevet, men ingen har svart på spørsmålet mitt.Hvis du er av den oppfatning at vi er villige til å skrive dine programmer for deg, tar du nok sørgelig feil. Én ting er å besvare spesifikke spørsmål - en annen er å servere en ferdig løsning uten noen form for kompensasjon. Nå, ta en titt på postene i denne tråden. Jeg skulle tro det er tilstrekkelig med informasjon til å kunne sette igang selv. Skulle du mot formodning møte veggen, kan du jo alltids stille ytterlige spørsmål. Blant annet vil jeg fremheve følgende lenke som brakt frem noe tidligere i tråden: https://www.diskusjon.no/index.php?session=...t&p=9392081 Endret 27. november 2007 av aadnk Lenke til kommentar
Jolo Skrevet 27. november 2007 Forfatter Del Skrevet 27. november 2007 Vil ikke si at det jeg spør etter er et ferdig program, men jeg er dessverre ikke så inne i koding at jeg kan se på et eksempel som beskriver noe helt annet, og finne ut av hvordan jeg selv skal gjøre det. Men om en spesifik kode er formye å forlange får jeg finne et annet forum. Lenke til kommentar
Spenzer Skrevet 27. november 2007 Del Skrevet 27. november 2007 så så smalltimer, google is your friend xD anyway, om folk ikke vil gi deg en kode så er ikke det noe og hisse seg opp for, har hendt at jeg har spurt om eksempler, av og til får jeg av og til får jeg ikke, men etter ei stund med research finner jeg det ut om de ikke hjelper meg Lenke til kommentar
Manfred Skrevet 27. november 2007 Del Skrevet 27. november 2007 GeirGrusom kom med en god del kode, som er så og si akkurat det du trenger... Lenke til kommentar
GeirGrusom Skrevet 27. november 2007 Del Skrevet 27. november 2007 Hehe, vi prøver da å hjelpe, men dette er diskusjon.no ikke gratisprogrammering.no Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå