Avatar billede oleko Nybegynder
19. oktober 2007 - 19:34 Der er 10 kommentarer og
1 løsning

HttpWebRequest / HttpWebResponse problem med frames?

Jeg laver lidt screen scraping (NB efter aftale med sitet) og benytter hertil de kendte teknikker uden problemer.
Dog ikke når siden indeholder frames. I det tilfælde returneres hovedsiden med frameset i stedet for siden med incl. indhold indlæst i hver enkelt frame.
Er der nogen der kan hjælpe?
Avatar billede nielle Nybegynder
19. oktober 2007 - 19:39 #1
Du skal lave din request på den under-frame som indeholder det relevante. Det er bare at kende dens url.

Dette fremgår også af framesettet hvis du ikke allerede kender det.
Avatar billede dr_chaos Nybegynder
19. oktober 2007 - 20:12 #2
I denne post bliver det foreslået at sende en useragent med:
http://www.velocityreviews.com/forums/t87907-httpwebrequest-only-returning-noframes-part-of-page.html


Nærmere bestemt :
ditrequest.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0;
..NET CLR 1.0.3705; .NET CLR 1.1.4322)"
Avatar billede oleko Nybegynder
21. oktober 2007 - 07:53 #3
Jeg havde håbet på en enkel mulighed for at få fat i HTML svarende til frameset plus frames uden at skulle parse frameset siden for src=.
Avatar billede nielle Nybegynder
21. oktober 2007 - 08:26 #4
Nope, det svare sådan set til at loade en html-sude med grafik og andet godt; dem får du ikke i et huk:

først skal siden hentes,
så skal den parses for at se hvilken grafik den referere til,
og så skal billede-filerne hentes en efter en.
Avatar billede nielle Nybegynder
21. oktober 2007 - 08:32 #5
Eller sagt med andre ord... Et request henter kun een fil af gangen. En typisk hjemmeside består af mange filer, og den skal derfor hentes af flere requests, et request-pr-fil. Det er i den sammenhæng ligegyldigt at de samlet fremstår i din browser som om at de hører pænt sammen som en "side" - det er stadigvæk enkelt filer der skal hentes.

Men hvorfor vil du overhvoedet have alt sammen? Skal du ikke specifikt have fat i en specifik side - den hvor der er noget intessant indhold til din screenscarping?
Avatar billede nielle Nybegynder
21. oktober 2007 - 08:34 #6
omformulering:

En typisk side på en hjemmeside er sammensat af mange filer, og den skal derfor hentes af flere requests, et request-pr-delfil.
Avatar billede oleko Nybegynder
21. oktober 2007 - 09:29 #7
Svar til nielle:
Mit udgangspunkt for at få fat i det indhold, jeg er interesseret i, er et antal links til flere forskellige hjemmesider (igen alt efter aftale med indehaverne af hjemmesiderne).
Derfor ville det være rart, at kunne fremfinde en hvilken som helst sides indhold ved hjælp af linket alene uden at skulle lede efter evt. frames, som måske oven i købet i nogle tilfælde igen indeholder frames d.v.s. noget rekursiv kode.
Avatar billede nielle Nybegynder
21. oktober 2007 - 09:46 #8
Jag kan såmæn godt forstå hvorfor du gerne ville have det på den måde, men sådan fungere det desværre ikke: En fil == en request.

Det *kan* være at de har en noframes-løsning... Det er ikke særligt sandsynligt nu om dage, hvor der stort set ikke er noget behov for at understøtte browsere, som ikke har understøttelse for frames. Men hvis de har det, så kunne en løsning á la den som dr_chaos skitsere måske bruges: den lader populært sagt som om at den er en af de der tusse-gamle browsere som ikke kan forstå frames.
Avatar billede nielle Nybegynder
21. oktober 2007 - 10:22 #9
Personligt ville jeg nok i stedet lave funktionaliteten, med at downloade frames og de indgående filer, en gang for alle og pakke den pænt ind i en funktion som jeg så i fremtiden kunne kalde med sidens url uden at spekulere mere over det. :^)
Avatar billede oleko Nybegynder
21. oktober 2007 - 10:25 #10
ok, tak. Vil du lave du et svar?
Avatar billede nielle Nybegynder
21. oktober 2007 - 10:31 #11
Svar :^)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester