Cor3Quad Posted January 29, 2014 Report Posted January 29, 2014 Vreau sa fac un program(web browser) care :- dupa ce apas un buton trebuie sa ia niste date de pe un site si sa le salveze intr-un fisier .txt , pe desktop- date se iau din : - programul trebuie sa adauge automat "view-source:" la pagina in care se afla si sa acceseze - la pagina deschisa cu "view-source:" datele sunt de forma : ["date",[],{"list":["100000000000000-2","100000990002654-2"... - toata treaba asta cu datele nu trebuie sa fie vazute de user , sa se faca in background- sunt mai multe numere acolo , eu le vreau pe primele 5-10 salvate in .txt , pe desktop- ce va fi salvat in fisierul .txt trebuie sa fie de forma : 100000000000000 in loc de 100000000000000-2Cum fac asta ? Quote
Cor3Quad Posted January 29, 2014 Author Report Posted January 29, 2014 Dim html As String = wc.DownloadString("view-source:" & url)Imi da eroare aici. Quote
Cor3Quad Posted January 29, 2014 Author Report Posted January 29, 2014 Tu ai incercat macar codu ? Nici o varianta nu merge , eu vreau pt textbox , sa preia de acolo.1.Dim html As String = wc.DownloadString("view-source:" & url.text)text=TextBox1Dim html As String = wc.DownloadString("view-source:" & url.TextBox1) =>> TextBox1 is not a member of 'string'2.Dim html As String = wc.DownloadString("view-source:http://vafursursa.com")Programu se bloceaza si da :WebException was unhandled Quote
parazitul29 Posted January 31, 2014 Report Posted January 31, 2014 Daca datele pe care vrei sa le extragi se afla in inputbox-uri , textarea sau sunt nume/proprietati de diferite elemente ale pagini poti sa incerci sa folosesti api-ul pentru automatizarea internet explorer-ului unde ai functii pentru manipularea sursei unei paginiCa sa nu vada userul ie-ul il setezi sa ruleze in background chestia e ca ie-ul o sa manance din ram si procesor Quote
curiosul Posted January 31, 2014 Report Posted January 31, 2014 (edited) Codul in c#:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;using System.Net;using System.Text.RegularExpressions;namespace GetPageSourceWithRegex{ public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { string site = "http://alTauSite.com"; string fisier = @"c:\info.txt"; string regexPattern = ""; //completeaza tu aici ///////////////////////////////////// string[] informatii = getDataFromSource(getHtmlSource(site), regexPattern); if(System.IO.File.Exists(fisier)) { System.IO.File.WriteAllLines(fisier, informatii); } } private string getHtmlSource (string site) { using (WebClient client = new WebClient()) { string source = client.DownloadString(site); return source; } } private string[] getDataFromSource(string source, string regexPattern) { List<string> ls = null; MatchCollection matches = Regex.Matches(source, regexPattern); foreach(string match in matches) { ls.Add(match); } return ls.ToArray(); } }}Trebuie doar sa modifici regex-ul, daca nu te descurci imi dai pm si te ajut eu maine ca acuma ii cam greu B-(Nu l-am testat dar ar trebui sa mearga...Nu am inteles cum adica sa nu se prinda "victima".Daca vrei poti sa ii pui this.Hide(); la incarcare si ii dai aplicatia.exe altfel nu stiu la ce te-ai referit... Edited January 31, 2014 by curiosul 1 Quote