xl_kid | 09.03.2020 13:27 |
---|---|
Predmet:vb.net webbrowser scroll down Pokušavam da prilikom očitavanje strane dodam scroll down funkciju pa tek onda da dobijem podatke. Prilikom učitavanja web stane dobijem 15 ispisa. Potrebno mi je barem 10x više. Na svaki scroll down na strani dodaju se novi zapisi. Konkretno reč je o IG. Hoću da za određeni # dobijem linkove. Evo i koda gde nikako ne mogu da provalim kako da mu pre očitavanja strane dodelim scrol down tj da učitam recimo 50 redova umesto trenutnih 5. Imports System.Net Imports System.IO Imports System.Windows.Forms Imports System.Text.RegularExpressions Imports System.Xml Imports mshtml Public Class INSTA Dim doc As mshtml.IHTMLDocument3 Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load WebBrowser1.ScriptErrorsSuppressed = True Dim url As String = "https://www.instagram.com/explore/tags/fashion/" Try WebBrowser1.Navigate(url) Catch ex As Exception End Try End Sub Private Sub WebBrowser1_DocumentCompleted(sender As Object, e As WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted doc = CType(WebBrowser1.Document.DomDocument, IHTMLDocument2) 'Me.WebBrowser1.Document.Window.ScrollTo(0, 1800) End Sub Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click ListBox1.Items.Clear() Dim HTMLI As mshtml.IHTMLElement For Each HTMLI In doc.getElementsByclassName("Nnq7C weEfm") If HTMLI.innerHTML.Contains("a href") Then Dim sSource As String = HTMLI.innerHTML 'String that is being searched Dim subst As String = sSource.Substring(41, 15) MessageBox.Show(subst.Count) ListBox1.Items.Add(subst & vbCrLf) End If Next End Sub End Class |
zxz | 09.03.2020 19:45 |
---|---|
Predmet:Re: vb.net webbrowser scroll down Ako sam te dobro razumio hoces na html dokumentu da listas po stranicama a da napr svaka stranica ima 15 redova. To se radi na nivou SQl a posto neznam koju bazu koristis nemogu ni napisati. Kod nisam ispratio jer hocu da vidim jesam li te razumio sta hoces. |
xl_kid | 09.03.2020 21:29 |
---|---|
Predmet:Re: vb.net webbrowser scroll down Hocu da sa instagrama za odredjeni hashtag skinem linkove npr 100 poslednjih. Instagram prikazuje 15 poslednjih, kad skrolujes dole otvori jos 15 i tako do kraja. Ne ucita celu stranu nego parcijalno. Ja hocu da ucitam recimo 100 zapisa ili 10 skrola. Pomocu koda gore ucita mi sam poslednjih 15 |
zxz | 09.03.2020 22:20 |
---|---|
Predmet:Re: vb.net webbrowser scroll down daj ako mozes postavi cio projekt po mogucnosti 2010 ako ne onda onaj u kom radis. |
xl_kid | 10.03.2020 08:27 |
---|---|
Predmet:Re: vb.net webbrowser scroll down Evo projekta. Potrebno je pre početka logovati se na instagramu preko internet explorera. |
|
Prilozi: IGC.ZIP (Velicina datoteke:456.60 KB) |
zxz | 12.03.2020 00:09 |
---|---|
Predmet:Re: vb.net webbrowser scroll down NMazalost ja nemam instagram i nemogu uci da vidim uistinu koliko ima elemenata. Mogu opisati kako treba uraditi pa ako ne uspijes pokusat cemo na neki drugi nacin U kodu ispod je petlja koja bi trebala da ucita sve elemente u listBox kako sam ja to vidio. Da bi sprijecio ucitavanje svih elemenata odjednom odnosno da ucitavas stranicu po stranicu morao bi na vrhu klase ili negdje drugdje da definises tri variable. Jedna bi bila brojac napr i=0 br_strane=0 i treca a moze biti konstanta redova_po_strani. Uzmimo da je Button2 next za listanje nazad mislim da nmozes sam. Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click 'WebBrowser1.Navigate("javascript:window.scroll(0,4050);") ListBox1.Items.Clear() Dim HTMLI As Xml.XmlElement For Each HTMLI In doc.getElementsByclassName("Nnq7C weEfm") If HTMLI.innerHTML.Contains("a href") Then Dim sSource As String = HTMLI.innerHTML 'String that is being searched Dim subst As String = sSource.Substring(41, 15) REM MessageBox.Show(subst.Count) i=i+1 br_strane=br_strane +1 start=br_strane*redova_po_strani kraj=start+redova_po_strani if i >=start and i<=kraj rhen ListBox1.Items.Add("https://www.instagram.com" & subst & vbCrLf) enduif End If Next End Sub |