Jump to content
Cor3Quad

Import/Export data .NET

Recommended Posts

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-2

Cum fac asta ?

Link to comment
Share on other sites

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=TextBox1

Dim 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

Link to comment
Share on other sites

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 pagini

Ca sa nu vada userul ie-ul il setezi sa ruleze in background chestia e ca ie-ul o sa manance din ram si procesor

Link to comment
Share on other sites

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-(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 by curiosul
  • Upvote 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...