Pomoć oko koda za izvlačenje podataka s weba
- poruka: 45
- |
- čitano: 8.628
- |
- moderatori:
Lazarus Long, XXX-Man, vincimus
Regex i zdravo. Vrlo jednostavno. Da imaš linux napisao bi ti jednostavni dialog u recimo bash-u i zenity-u u kombinaciji sa sed-om.
Možeš pokušati i sa regexom u windowsima, a za to ti treba (ako ideš preko VB) VBScript.
mozda mi je nes krivo konvertalo al informacija koju dobijem je zlkemp o.O, sigurno nes krivo konvertalo
pa za sada jedino uspjesno je s perlom :D
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Text.RegularExpressions;
using System.IO;
using System.Net;
public String Parse_Webpage(String Webpage) //ovaj dio ti parsa stranicu
{
WebRequest myRequest = WebRequest.Create(Webpage);
StreamReader myStreamReader = new StreamReader(myRequest.GetResponse().GetResponseStream(), System.Text.Encoding.GetEncoding(1250), true);
return myStreamReader.ReadToEnd();
}
public String Extract_Data()
{
String Parsed_Result = Parse_Webpage("http://www.nekastranica.com");
Regex regex = new Regex( ".*<head>.*<title>(.*)</title>.*</head>.*", RegexOptions.IgnoreCase );
Match match = regex.Match( Parsed_Result );
return match.Groups[0].Value;
}
Evo i sa regexom...
sad dobijem prazan string wtf???
Evo jedan bash cod sklepan na brzinu, temeljan na broju linija u html-u (radi ;) ):
#!/bin/bash
echo "Unesi url:"
read url
wget -O price $url -q
sed '1,573d' price | sed '3,$d'| cut -d "<" -f 1 | sed '1d' > koncijena
auk=$(cat koncijena | sed 's/^[ \t]*//;s/[ \t]*$//' | cut -d " " -f 1 )
echo "Trenutna cijena: $auk kn"
Ne valja za ostale- promijet ćemo
Evo, radi bez problema
#!/bin/bash
echo "Unesi url:"
read url
wget -O price $url -q
kune=$(cat price | grep kn\< | sed '2,$d' | cut -d "k" -f1)
echo " Trenutna cijena je: $kune kn"
5 linija :D
neznam mogu li napraviti interface za to i vb net :D
Sumnjam.
Jesi pokusao onaj kod koji sam ti ja nakucao?
ovaj naslov u zagradi mora biti napisan malim slovima, jer je tocno tako deklariran na stranici aukcije.hr
sad je pak greska u djelu
Dim zavrsni_index As Integer = STRANICA_UCITANA.IndexOf(TRAZI_KOD_KRAJ, pocetni_index)
Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: startIndex
stvarno ne znam vise, gdje je greska, jer meni radi bez problema, onda uzmi kod od "tnakir"-a, njegov je jos bolji i jednostavniji je