Gå til innhold

Hente informasjon fra andre nettsider


Gjest Slettet+98172347

Anbefalte innlegg

Gjest Slettet+98172347
Skrevet

Hvordan kan jeg hente informasjon fra andre nettsider til mitt program?

 

Jeg ønsker å skrive et program som henter aksjekurser på norske aksjer. Det spiller ingen rolle for meg om det skrives i C#, VB eller ASP. Jeg behersker alle disse variantene.

 

Noen som har gjort noe lignende eller har tips?

Videoannonse
Annonse
Gjest Slettet+98172347
Skrevet

Takk for tips.

 

Jeg har imidlertid støtt på et lite problem. Se kode nedenfor.

 

Hvis jeg kjører programmet i debug og hopper gjennom hver eneste linje gang på gang så får jeg fyllt opp tekstfilen med aksjeticker og aksjenavn. Akkurat som jeg ønsker.

Men dersom jeg kjører programmet uten noen debugging så blir filen tom.

 

Hva er det som ikke stemmer her? Ligger sikkert rett foran nesen min.

 

using System;
using System.Net;
using System.IO;
using System.Collections.Generic;
using System.Text;

namespace WebClient
{
class Program
{
	static void Main(string[] args)
	{
		if (args == null || args.Length == 0)
		{
			throw new ApplicationException("Specify the URI of the resource to retrieve.");
		}
		System.Net.WebClient client = new System.Net.WebClient();

		client.Headers.Add("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)");

		Stream data = client.OpenRead(args[0]);
		StreamReader reader = new StreamReader(data);

		StreamWriter sw = new StreamWriter("c:\\testFile.txt");

		while (reader.Peek() >= 0)
		{
			string s = reader.ReadLine();
			string str = "";

			int first = s.IndexOf("paper=");
			if (first > 0)
			{
				int last = s.IndexOf(".OSE", first);
				if (last > 0)
				{
					str = s.Substring(first + 6, last - first - 6);
					str = str.Trim();
				}
			}

			int first2 = s.IndexOf(".OSE");
			if (first2 > 0)
			{
				int last2 = s.IndexOf("</a>", first2);
				if (last2 > 0)
				{
					string str2 = s.Substring(first2 + 6, last2 - first2 - 6);
					str2 = str2.Trim();
					sw.WriteLine("{0} : {1}", str, str2);
				}
			}

		}

		sw.Close();
		data.Close();
		reader.Close();			
	}
}
}

Gjest Slettet+98172347
Skrevet

Vet ikke :blush:

 

Forslag og forbedringer mottas med takk.

 

Det jeg er ute etter er å lese denne siden:

http://hopey.netfonds.no/kurs.php

 

Så må jeg gå gjennom den å få tak i Navn (1.kolonne) og Ticker (2.kolonne). Resultatet vil jeg ha skrevet til en tekstfil. En linje per selskap.

Skrevet

Ser ut som Ctrl+C Ctrl+V kode :p

 

Men uansett, det du skal se etter er først er <pre class="marg" style="font-family: courier;"> og neste </pre>

Informasjonen du er ute etter ligger i mellom der.

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...