Új hozzászólás Aktív témák

  • #10382336
    törölt tag

    A httpwebrequest, httpwebclient - el pár napja kísérletezgettem weboldalon lévő fájlok letöltése kapcsán, de ezzel én csak .html fájlt tudtam létrhozni, amire rákattintva megnyilt az alapértelmezett böngésző(firefox), ami a letöltendő fájlra mutatott és feldobta a mentés másként ablakot, amivel le tudtam tölteni.
    Mivel azonban ehhez kattintgatni is kell, és én közvetlenül .net -ből akartam letölteni, ezért a httpwebrequest,httpwebclient -el való kísérletezést végül abbahagytam.
    A webclient-el egyszer a Form-ra is sikerült rávarázsolnom egy bizonyos weboldalt.
    Akkor végül is az egyszerű My.Computer.Network.DownloadFile() eljárás oldotta meg a problémámat.
    Ezek szerint ismét vissza kell térnem ezekhez az objektumokhoz és tovább kísérletezgetni velük.

    köszi a javaslatokat.

    A következőképpen sikerült megoldani:

    1: A táblázatot tartalmazó .html fájl letöltése a helyi gépre:
    My.Computer.Network.DownloadFile(forrashtml, celfajl, felhasznalonev, jelszo, False, 10000000, True)

    2: A letöltött fájl beolvasása egy stringbe:
    Dim s0 As String = Join(System.IO.File.ReadAllLines(celfajl, System.Text.Encoding.Default), "")

    3: A stringből a tabulátor - chr(9) - karakterek kitörlése.

    4: A string átalakítása úgy, hogy egy sor vagy egy tag-ot, vagy egy szövegsort tartalmazzon.
    Ezek után egy sor vagy így néz ki: "<tagnév tagtulajdonságok>"+vbcrlf ,
    vagy így: "szöveg"+vbcrlf
    így el lehet dönteni, hogy egy sor mit tartalmaz, ha a sor első karaktere "<" akkor tag,
    egyébként szöveg.

    5: Ezek után "csak" fel kell dolgozni a sorokat a táblázat parancsai szerint:
    <table> </table> - új táblázat, ill. táblázat vége
    <tr> </tr> - következő sor, sor vége
    <th> </th> - aktuális sor köv. oszlopának fejlécének kezdete/vége
    <td> </td> - akt. sor köv. oszlopának eleme.
    Minden más tag figyelmen kívűl hagyandó. A <th> tag-nál azonban még arra figyelni
    kell, hogy <th colspan="2"> az adott sorban két cella egyesítését jelenti.

    A próba során célobjektumnak "datagrid" -et használtam, amit "datagridview" -el
    írattam ki a "form" -ra. Összehasonlítva az eredeti weboldallal az adatok megegyeztek.

    Ez a megoldás valószínűleg nem a legegyszerűbb, azonban működik.
    Ha valakinek van egyszerűbb megoldása, nem sértődnék meg, ha leírná.

    KELLEMES ÜNNEPEKET MINDENKINEK!!!

Új hozzászólás Aktív témák