Čtení obsahu webové stránky v C# – .NET – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Čtení obsahu webové stránky v C# – .NET – Fórum – Programujte.comČtení obsahu webové stránky v C# – .NET – Fórum – Programujte.com

 

Tchoř
~ Anonymní uživatel
14 příspěvků
4. 11. 2013   #1
-
0
-

Zdravím

Chtěl bych se zeptat, jak lze v C# získat pouze určitá data z webové stránky ?

Přiklad: chci si uložit User Names z tabulky na této stránce: http://worldoftanks.eu/community/clans/500027296-BERU/

Lze to vůbec nějak udělat ?

Nahlásit jako SPAM
IP: 89.102.146.–
Mutagen0
Super člen
4. 11. 2013   #2
-
0
-
Nahlásit jako SPAM
IP: 89.190.90.–
Tchoř
~ Anonymní uživatel
14 příspěvků
4. 11. 2013   #3
-
0
-

Podobný způsob jsem zkoušel nejprve v XML souboru tzn napsal sem do něj:

=ImportHtml("http://worldoftanks.eu/community/clans/500027296-BERU/"; "table";1)

ale vyhodilo mi to pouze názvy sloupců v tabulce, hodnoty v tabulce nikoliv.

Nahlásit jako SPAM
IP: 89.102.146.–
VladislavK0
Super člen
5. 11. 2013   #4
-
0
-
Nahlásit jako SPAM
IP: 37.48.41.–
Manželka programátora pošle svého muže koupit chleba s dovětkem kdyby měly housky přines jich deset! Co přinese programátor??
Tchoř
~ Anonymní uživatel
14 příspěvků
5. 11. 2013   #5
-
0
-

Díky za odpověď

Vyzkoušel sem dle tvé rady, nicméně to co potřebuji vypsat (Uživatelská jména z tabulky na výše uvedené stránce (http://worldoftanks.eu/community/clans/500027296-BERU/)) se stále nevypíše. resp. ve staženém kódu stránky tabulku s Uživatelskými jmény nemohu najít.

Nahlásit jako SPAM
IP: 89.102.146.–
P
~ Anonymní uživatel
212 příspěvků
5. 11. 2013   #6
-
0
-
Nahlásit jako SPAM
IP: 85.93.116.–
Tchoř
~ Anonymní uživatel
14 příspěvků
5. 11. 2013   #7
-
0
-

V tom případě nevím jak mám z tohoto scriptu dostat požadované informace. JavaScript jsem nikdy nedělal.

Nahlásit jako SPAM
IP: 89.102.146.–
VladislavK0
Super člen
5. 11. 2013   #8
-
0
-

#7 Tchoř
Opravte mne jestli se pletu ale

kazda WEB stranka si dotahuje obrazky, linky (a dalsi web componenty pomoci JS) ale kdyz se zobrazi tak tyto vseobecne nazvane objekty jsou proste videt v prohlizeci takze kdyz se uzivateli zobrazi  "User name!" tak proste je  zobrazeny vcetne ID toho objektu

pak nevydim problem v tom  jestli se ty data daji vytezit nebo nikoli

Nahlásit jako SPAM
IP: 37.48.41.–
Manželka programátora pošle svého muže koupit chleba s dovětkem kdyby měly housky přines jich deset! Co přinese programátor??
Tchoř
~ Anonymní uživatel
14 příspěvků
5. 11. 2013   #9
-
0
-

Pokud jsem správně pochopil co jste napsal, tak narážíte na to, že pokud je stránka načtena tak ta Uživatelská jména vidí fyzicky, 

Nicméně nechápu logiku toho, jak se ty data podle vás dají vytěžit.

Nahlásit jako SPAM
IP: 89.102.146.–
VladislavK0
Super člen
5. 11. 2013   #10
-
0
-

#9 Tchoř
Ano takze z predcoziho prispevku se da k datum dostat

String xmlPath="rootTag/nextTag"; // skladba XPath je jiny hrnecek s kavou

NodeList nl= xDoc.SelectNodes(xmlPath );

Node n=xDoc.SelectSingleNode(xmlPath);

a v promene n je vse co potrebujes

Nahlásit jako SPAM
IP: 37.48.41.–
Manželka programátora pošle svého muže koupit chleba s dovětkem kdyby měly housky přines jich deset! Co přinese programátor??
Tchoř
~ Anonymní uživatel
14 příspěvků
5. 11. 2013   #11
-
0
-

Ale toto řešení stále pracuje se zdrojovým kódem té stránky neboť toto:

String tx = wc.DownloadString(u); // kompletni kod stranky

stáhne sice zdrojový kód stránky ve kterém se podle vás dají vyhledat data která potřebuji, nicméně ta data tam obsažena nejou resp. nikde jsem je tam nenalezel i když jsem text obsažený ve výše uvedené proměnné (" tx " ) prošel celý

Nevím co dělám špatně.

Nahlásit jako SPAM
IP: 89.102.146.–
VladislavK0
Super člen
6. 11. 2013   #12
-
0
-

#11 Tchoř
Koukal jsem do te stranky a ty texty tam jsou.

Pokud DownloadString tyto texty nevrati pak to muze byt tim vyse zminenym javascriptem ale i toto se da obejit kdyz misto WebClienta pouzijes komponentu WebBrowser a pouzijes jeji udalost DocumentCompleted

Nahlásit jako SPAM
IP: 37.48.41.–
Manželka programátora pošle svého muže koupit chleba s dovětkem kdyby měly housky přines jich deset! Co přinese programátor??
JardaJirava0
Stálý člen
6. 11. 2013   #13
-
0
-

Ahoj,

 jak již bylo zmíněno, ta stránka si nejspíše některé informace dotahuje pomocí JS (AJAX) volání.

 K řešení tedy můžeš přistoupit tak, že si otevřeš v prohlížeči developer tools a odsleduješ komunikaci. Ke sledování komunikace se též dá použít nějaká proxy, např. Fiddler. Pomocí toho si zjistíš, který dotaz vrací jaká data a pak budeš volat tento dotaz, nikoliv zmíněnou stránku.

 Abych ti ušetřil práci, tak tvoje potřebná adresa je

/community/clans/500027296/members/?_=138372379763...order_by=name&search=&echo=1&id=clan_members_index

Pěkný den,

Nahlásit jako SPAM
IP: 77.78.85.–
MCAD, MCPD
http://jirava.net/blog
http://xaml.cz - Magazín moderních technologií založených na XAML
Tchoř
~ Anonymní uživatel
14 příspěvků
6. 11. 2013   #14
-
0
-

Děkuji, nicméně trošku jsem se zamotal v tom jak jste napsal, že mám volat pouze tento dotaz: /community/clans/500027296/members/?_=138372379763...order_by=name&search=&echo=1&id=clan_members_index a nikoliv zmíněnou stránku.

Jak mám zavolat pouze tento dotaz? Přes WebRequest ?

Nahlásit jako SPAM
IP: 89.102.146.–
JardaJirava0
Stálý člen
6. 11. 2013   #15
-
0
-

Ahoj,

ano, budeš volat jen tuto URL pomocí WebClienta a výsledek pak můžeš zpracovat, jelikož je to JSON, co se vrací, pomocí JSON.NET knihovny.

Pěkný den,

Nahlásit jako SPAM
IP: 77.78.85.–
MCAD, MCPD
http://jirava.net/blog
http://xaml.cz - Magazín moderních technologií založených na XAML
Tchoř
~ Anonymní uživatel
14 příspěvků
6. 11. 2013   #16
-
0
-

Předpokládám že před tuto url mám dát ještě: http://worldoftanks.eu/ ?

Bez toho bude nejspíše výsledek null ?

Nahlásit jako SPAM
IP: 89.102.146.–
Tchoř
~ Anonymní uživatel
14 příspěvků
6. 11. 2013   #17
-
0
-

Když do webclienta přidám pouze tuto url: /community/clans/500027296/members/?_=138372379763...order_by=name&search=&echo=1&id=clan_members_index  tak mi to vrátí chybu Neplatný identifikátor URL, když před to přidám ještě http://worldoftanks.eu/ tak mi vrátí chybu 404 nenalezeno

Nahlásit jako SPAM
IP: 89.102.146.–
Tchoř
~ Anonymní uživatel
14 příspěvků
7. 11. 2013   #18
-
0
-

#15 JardaJirava
Vyzkoušel sem všechno co mě napadlo podle toho co jsi mi poradil, ale stále nemohu potřebná data vytáhnout.

Nahlásit jako SPAM
IP: 89.102.146.–
m4r100
Návštěvník
7. 11. 2013   #19
-
0
-

To cislo co je uprostred (138372379763) se pokazde zmeni, proto ti to nefunguje. Musel bys prijit na to odkud se to cislo bere.

Nahlásit jako SPAM
IP: 78.102.208.–
Tchoř
~ Anonymní uživatel
14 příspěvků
7. 11. 2013   #20
-
0
-

Jinými slovy ta data vytáhnout prostě nejde :(

Nahlásit jako SPAM
IP: 89.102.146.–
JardaJirava0
Stálý člen
8. 11. 2013   #21
-
0
-

Ahoj,

cokoliv, co jde na klienta je možné následně zpracovat také automaticky, jde jen o to, jaké úsilí tomu věnuješ.

To číslo, které se přidává je nějaký vypočtený hash, který bude třeba najít, jak se v tom JS počítá.

Pěkný den,

Nahlásit jako SPAM
IP: 77.78.85.–
MCAD, MCPD
http://jirava.net/blog
http://xaml.cz - Magazín moderních technologií založených na XAML
Tchoř
~ Anonymní uživatel
14 příspěvků
8. 11. 2013   #22
-
0
-

#21 JardaJirava
Já se bohužel v JS příliš neorientuji.

Nahlásit jako SPAM
IP: 89.102.146.–
Tchoř
~ Anonymní uživatel
14 příspěvků
8. 11. 2013   #23
-
0
-

Tak jsem zjisil že ve WebBrowser je metoda ShowSaveAsDialog, a tam možnost uložit stránku do TXT souboru kde je obsaženo vše co potřebuji,

nimcéně bych potřeboval by se obsah uložil automaticky bez vyskočení jakéhokoliv dialogu, lze to nějak obejít ?

Nahlásit jako SPAM
IP: 89.102.146.–
Ja
~ Anonymní uživatel
59 příspěvků
11. 11. 2013   #24
-
0
-
Nahlásit jako SPAM
IP: 62.197.226.–
Tchoř
~ Anonymní uživatel
14 příspěvků
12. 11. 2013   #25
-
0
-
Nahlásit jako SPAM
IP: 89.102.146.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 36 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý