Jump to content
Cor3Quad

Import/Export data .NET

Recommended Posts

Posted

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 ?

Posted

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

Posted

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

Posted (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-(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

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