{"id":388,"date":"2010-10-21T22:27:07","date_gmt":"2010-10-21T19:27:07","guid":{"rendered":"http:\/\/www.notsayfam.com\/?p=388"},"modified":"2018-06-12T17:22:22","modified_gmt":"2018-06-12T15:22:22","slug":"vb-net-ile-web-sayfalari-uzerinde-get-post-istekleri-yapmak-ve-excel-islemleri","status":"publish","type":"post","link":"https:\/\/www.notsayfam.com\/?p=388","title":{"rendered":"Vb.net \u0130le Web Sayfalar\u0131 \u00fczerinde Get-Post istekleri yapmak ve Excel i\u015flemleri"},"content":{"rendered":"<p>G\u00fczel bir programla\/notlarla yeni bir post.<\/p>\n<p>Program\u0131n,notlar\u0131n i\u015flemleri;<br \/>\nVb.net kullanarak Web sayfalar\u0131n\u0131 getirmek veya web sayfalar\u0131na de\u011ferler post ederek gelen de\u011ferleri almak. Al\u0131nan verileri excel dosyas\u0131 olu\u015fturup ilgili s\u00fct\u00fcn\/sat\u0131rlara yaz\u0131p bi\u00e7imlendirmeleri (h\u00fccre birle\u015ftirme,renklendirme) yap\u0131p kay\u0131t etmek.<\/p>\n<p>Program\u0131n yapt\u0131klar\u0131;<br \/>\n1-\u0130zmir metro seferlerini www.izmir.bel.tr adresinden Get ile al\u0131p kaynak kodunu temizledikten sonra excele aktar\u0131p kay\u0131t etmek<br \/>\n2-\u0130zmir banliyo seferlerini www.izban.com.tr adresinden al\u0131p kay\u0131t etmek.<br \/>\n3-Vapur seferlerini www.izmir.bel.tr ula\u015f\u0131mdaki vapur alan\u0131nda bulunan kalk\u0131\u015f ve var\u0131\u015f comboboxlar\u0131 i\u00e7erisindeki de\u011ferlerin hepsini tek tek post ederek gelen de\u011ferlere g\u00f6re sefer varsa excele atmak<br \/>\n4-Otob\u00fcs numaralar\u0131n\u0131 kullanarak www.eshot.gov.tr sitesinden her bir otob\u00fcs numaras\u0131 i\u00e7in g\u00fczergah,saatlerini al\u0131p excele kay\u0131t etmek.<\/p>\n<p>K\u0131saca izmir offline ula\u015f\u0131m rehberi. (21 Ekim 2010)<br \/>\n<!--more--><br \/>\nProgram\u0131n tam proje dosyas\u0131n\u0131 indirmek i\u00e7in <a href=\"http:\/\/www.notsayfam.com\/?download=510\">t\u0131klay\u0131n\u0131z<\/a> (vs 2005)<\/p>\n<p><a href=\"http:\/\/www.notsayfam.com\/wp-content\/uploads\/2010\/10\/notsayfam_vbnet_get_post_excel.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-full wp-image-389\" title=\"notsayfam_vbnet_get_post_excel\" src=\"https:\/\/www.notsayfam.com\/wp-content\/uploads\/2010\/10\/notsayfam_vbnet_get_post_excel.jpg\" alt=\"\" width=\"610\" height=\"331\" srcset=\"https:\/\/www.notsayfam.com\/wp-content\/uploads\/2010\/10\/notsayfam_vbnet_get_post_excel.jpg 610w, https:\/\/www.notsayfam.com\/wp-content\/uploads\/2010\/10\/notsayfam_vbnet_get_post_excel-300x162.jpg 300w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 61vw, (max-width: 1362px) 45vw, 600px\" \/><\/a><\/p>\n<p><code><br \/>\nImports System.Net<br \/>\nImports System.Text<br \/>\nImports System.IO<br \/>\nImports Microsoft.Office.Core<br \/>\nImports System.Threading<br \/>\nImports System.Runtime.InteropServices<br \/>\nPublic Class Form1<br \/>\nShared threadcount As Integer = 0<br \/>\nShared path As String = \"\"<br \/>\nDim bitti As Boolean = False<br \/>\nShared sonalinan As String = \"\"<br \/>\nPrivate Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load<br \/>\nControl.CheckForIllegalCrossThreadCalls = False<br \/>\nEnd Sub<\/code><\/p>\n<p>Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnotobus.Click<br \/>\nIf IsNumeric(txtotobusilk.Text) And IsNumeric(txtotobusson.Text) Then<br \/>\nIf Val(txtotobusilk.Text) &gt; Val(txtotobusson.Text) Then<br \/>\nMsgBox(&#8220;\u0130lk otob\u00fcs son otob\u00fcs numaras\u0131ndan b\u00fcy\u00fck olamaz&#8221;)<br \/>\nExit Sub<br \/>\nEnd If<br \/>\nElse<br \/>\nMsgBox(&#8220;L\u00fctfen otob\u00fcs numaras\u0131 alanlar\u0131na rakam giriniz&#8221;)<br \/>\nExit Sub<br \/>\nEnd If<br \/>\nDirectoryCheck()<br \/>\npath = txtpath.Text<br \/>\nDim thbaslat As Thread<br \/>\nDim thkbaslat As New ThreadStart(AddressOf OtobusTaramaBaslat)<br \/>\nthbaslat = New Thread(thkbaslat)<br \/>\nthbaslat.Start()<br \/>\nEnd Sub<br \/>\nPrivate Sub OtobusTaramaBaslat()<br \/>\nbitti = False<br \/>\nDim thistatistik As Thread<br \/>\nDim thkistatistik As New ThreadStart(AddressOf SbIstatistik)<br \/>\nthistatistik = New Thread(thkistatistik)<br \/>\nthistatistik.Start()<br \/>\nDim alinansayisi As Integer = 0<br \/>\nbtnotobus.Enabled = False<br \/>\nSystem.IO.Directory.CreateDirectory(path &amp; &#8220;\\Otobus&#8221;)<br \/>\nFor i As Integer = Val(txtotobusilk.Text) To Val(txtotobusson.Text)<br \/>\nlblcalisilan.Text = i.ToString<br \/>\ntekrar:<br \/>\nIf threadcount &gt;= Val(txtmaxthread.Text) Then<br \/>\nThread.Sleep(500)<br \/>\nGoTo tekrar<br \/>\nEnd If<\/p>\n<p>Dim otobusclass As New OtobusTara<br \/>\notobusclass.otobusno = i<br \/>\nDim thsoft As New Thread(AddressOf otobusclass.Otobusbulyaz)<br \/>\nthsoft.IsBackground = True<br \/>\nthsoft.Priority = ThreadPriority.Normal<br \/>\nthsoft.Start()<br \/>\nInterlocked.Increment(threadcount)<br \/>\nThread.Sleep(500)<br \/>\nNext<br \/>\nbitti = True<br \/>\nbtnotobus.Enabled = True<br \/>\n&#8216;Call ProcessKill()<br \/>\nlblsondurum.Text = &#8220;Sefer al\u0131m threadlar\u0131 tamamland\u0131&#8221; &amp; vbCrLf &amp; _<br \/>\n&#8220;\u00c7al\u0131\u015fan threadlar\u0131n sonlanmas\u0131 bekleniyor&#8221;<br \/>\nEnd Sub<br \/>\nPrivate Sub SbIstatistik()<br \/>\nbas:<br \/>\nIf threadcount = 0 And bitti = True Then<br \/>\nlblthreadcount.Text = threadcount<br \/>\nlblsondurum.Text = &#8220;Sefer Al\u0131mlar\u0131 Tamamland\u0131&#8221; &amp; vbCrLf &amp; _<br \/>\n&#8220;Baz\u0131 excel prosesleri tak\u0131l\u0131 kalm\u0131\u015f olabilir&#8221; &amp; vbCrLf &amp; _<br \/>\n&#8220;Biraz bekledikten sonra excel i\u015flemlerini sonland\u0131rabilirsiniz&#8221;<br \/>\nExit Sub<br \/>\nElse<br \/>\nlblalinan.Text = sonalinan<br \/>\nlblthreadcount.Text = threadcount<br \/>\nThread.Sleep(100)<br \/>\nGoTo bas<br \/>\nEnd If<br \/>\nEnd Sub<br \/>\nPublic Class OtobusTara<br \/>\nPublic otobusno As Integer<br \/>\nPublic Sub Otobusbulyaz()<br \/>\nDim kaynakkodu As String = &#8220;&#8221;<br \/>\nDim kaynak As String = &#8220;&#8221;<br \/>\nDim guzergah As String = &#8220;&#8221;<br \/>\nTry<br \/>\nDim istek As HttpWebRequest = HttpWebRequest.Create(&#8220;http:\/\/www.eshot.gov.tr\/otobushareket\/OtobusSaatleri.aspx?hatno=&#8221; &amp; otobusno.ToString)<br \/>\nDim cevap As HttpWebResponse = istek.GetResponse<br \/>\nDim sr As IO.StreamReader = New IO.StreamReader(cevap.GetResponseStream())<br \/>\nkaynak = sr.ReadToEnd()<br \/>\nCatch ex As WebException<br \/>\nMsgBox(&#8220;Web sayfas\u0131 al\u0131n\u0131rken sorun olu\u015ftu&#8221; &amp; vbCrLf &amp; ex.Message)<br \/>\nGoTo cikis<br \/>\nEnd Try<\/p>\n<p>If Not (InStr(kaynak, &#8220;Hat No&#8221;) &gt; 0) Then<br \/>\n&#8216;Otob\u00fcs yok<br \/>\nGoTo cikis<br \/>\nEnd If<br \/>\nDim baslangictext As String = &#8220;&lt;th scope=&#8221;&#8221;col&#8221;&#8221;&gt;&#8221;<br \/>\nDim bitistext As String = &#8220;&lt;input type=&#8221;&#8221;hidden&#8221;&#8221;&#8221;<br \/>\nDim tablobas As Integer = InStr(kaynak, baslangictext)<br \/>\nIf tablobas = 0 Then<br \/>\n&#8216;Otob\u00fcs yok<br \/>\nGoTo cikis<br \/>\nEnd If<br \/>\nDim guzergahbas As Integer = InStr(kaynak, &#8220;&lt;span id=&#8221;&#8221;lbGuzergah&#8221;&#8221;&gt;&#8221;) + 22<br \/>\nDim guzergahson As String = InStr(kaynak, &#8220;&lt;div id=&#8221;&#8221;aciklamaDiv&#8221;&#8221;&#8221;) &#8211; (InStr(kaynak, &#8220;&lt;span id=&#8221;&#8221;lbGuzergah&#8221;&#8221;&gt;&#8221;) + 61)<br \/>\nguzergah = Mid(kaynak, guzergahbas, guzergahson)<\/p>\n<p>Dim tabloson As Integer = InStr(Mid(kaynak, tablobas, Len(kaynak) &#8211; tablobas), bitistext) &#8211; 20<br \/>\nkaynakkodu = Mid(kaynak, tablobas, tabloson)<br \/>\nkaynakkodu = Replace(kaynakkodu, Chr(13), &#8220;&#8221;)<br \/>\nkaynakkodu = Replace(kaynakkodu, Chr(10), &#8220;&#8221;)<br \/>\nkaynakkodu = Replace(kaynakkodu, &#8221; &#8220;, &#8220;&#8221;)<br \/>\nkaynakkodu = Replace(kaynakkodu, &#8221; &#8220;, &#8220;&#8221;)<br \/>\nkaynakkodu = Replace(kaynakkodu, &#8220;&lt;th scope=&#8221;&#8221;col&#8221;&#8221;&gt;&#8221;, &#8220;&#8221;)<br \/>\nkaynakkodu = Replace(kaynakkodu, &#8220;&lt;\/td&gt;&lt;td align=&#8221;&#8221;center&#8221;&#8221;&gt;&#8221;, &#8220;;&#8221;)<br \/>\nkaynakkodu = Replace(kaynakkodu, &#8220;&lt;\/td&gt;&lt;\/tr&gt;&lt;tr style=&#8221;&#8221;background-color:White;&#8221;&#8221;&gt;&lt;td align=&#8221;&#8221;center&#8221;&#8221;&gt;&#8221;, Chr(13))<br \/>\nkaynakkodu = Replace(kaynakkodu, &#8220;&lt;\/td&gt;&lt;\/tr&gt;&lt;tr style=&#8221;&#8221;background-color:#EDEDED;&#8221;&#8221;&gt;&lt;td align=&#8221;&#8221;center&#8221;&#8221;&gt;&#8221;, Chr(13))<br \/>\nkaynakkodu = Replace(kaynakkodu, &#8220;&lt;\/td&gt;&lt;\/tr&gt;&lt;\/table&gt;&lt;\/div&gt;&lt;\/td&gt;&lt;td valign=&#8221;&#8221;top&#8221;&#8221;&gt;&lt;div&gt;&lt;table cellspacing=&#8221;&#8221;0&#8243;&#8221; cellpadding=&#8221;&#8221;4&#8243;&#8221; border=&#8221;&#8221;0&#8243;&#8221; id=&#8221;&#8221;grid3&#8243;&#8221; style=&#8221;&#8221;color:#333333;width:150px;border-collapse:collapse;&#8221;&#8221;&gt;&lt;tr style=&#8221;&#8221;color:White;background-color:#616161;font-weight:bold;&#8221;&#8221;&gt;&#8221;, Chr(13))<br \/>\nkaynakkodu = Replace(kaynakkodu, &#8220;&lt;\/td&gt;&lt;\/tr&gt;&lt;\/table&gt;&lt;\/div&gt;&lt;\/td&gt;&lt;td valign=&#8221;&#8221;top&#8221;&#8221;&gt;&lt;div&gt;&lt;table cellspacing=&#8221;&#8221;0&#8243;&#8221; cellpadding=&#8221;&#8221;4&#8243;&#8221; border=&#8221;&#8221;0&#8243;&#8221; id=&#8221;&#8221;grid2&#8243;&#8221; style=&#8221;&#8221;color:#333333;width:150px;border-collapse:collapse;&#8221;&#8221;&gt;&lt;tr style=&#8221;&#8221;color:White;background-color:#616161;font-weight:bold;&#8221;&#8221;&gt;&#8221;, Chr(13))<br \/>\nkaynakkodu = Replace(kaynakkodu, &#8220;&lt;\/th&gt;&lt;\/tr&gt;&lt;tr style=&#8221;&#8221;background-color:#EDEDED;&#8221;&#8221;&gt;&lt;td align=&#8221;&#8221;center&#8221;&#8221;&gt;&#8221;, Chr(13))<br \/>\nkaynakkodu = Replace(kaynakkodu, &#8220;&lt;\/th&gt;&#8221;, &#8220;;&#8221;)<br \/>\nkaynakkodu = Replace(kaynakkodu, &#8220;&lt;\/td&gt;&lt;\/tr&gt;&lt;\/table&gt;&lt;\/div&gt;&lt;\/td&gt;&lt;\/tr&gt;&lt;\/table&gt; &#8220;, &#8220;&#8221;)<\/p>\n<p>kaynakkodu = Replace(kaynakkodu, &#8220;\u00c7&#8221;, &#8220;C&#8221;)<br \/>\nkaynakkodu = Replace(kaynakkodu, &#8220;\u00dc&#8221;, &#8220;U&#8221;)<br \/>\nkaynakkodu = Replace(kaynakkodu, &#8220;\u0131&#8221;, &#8220;i&#8221;)<br \/>\nkaynakkodu = Replace(kaynakkodu, &#8220;\u015f&#8221;, &#8220;s&#8221;)<br \/>\nkaynakkodu = Replace(kaynakkodu, &#8220;\u00d6&#8221;, &#8220;\u00d6&#8221;)<br \/>\nkaynakkodu = Replace(kaynakkodu, &#8220;G?zergah&#8221;, &#8220;Guzergah&#8221;)<br \/>\nkaynakkodu = Replace(kaynakkodu, &#8220;KAR?&#8221;, &#8220;KARS&#8221;)<br \/>\nkaynakkodu = Replace(kaynakkodu, &#8220;\u015f&#8221;, &#8220;s&#8221;)<br \/>\nkaynakkodu = Replace(kaynakkodu, &#8221;&nbsp;&#8220;, &#8221; &#8220;)<\/p>\n<p>Dim oXL As Excel.Application<br \/>\nDim oWB As Excel.Workbook<br \/>\nDim oSheet As Excel.Worksheet<\/p>\n<p>oXL = CreateObject(&#8220;Excel.Application&#8221;)<br \/>\noXL.Visible = False<\/p>\n<p>oWB = oXL.Workbooks.Add<br \/>\noSheet = oWB.ActiveSheet<\/p>\n<p>Dim satirlar() As String = Split(kaynakkodu, Chr(13))<br \/>\nDim cumartesi As Boolean = False<br \/>\nDim pazar As Boolean = False<br \/>\nDim cumartesisayisi As Integer = 0<br \/>\nDim pazarsayisi As Integer = 0<br \/>\noSheet.Cells(1, 1) = guzergah<br \/>\nFor i As Integer = 0 To satirlar.Length &#8211; 1<br \/>\nDim satir As String = satirlar(i).ToString<br \/>\nDim ogeler() As String = Split(satir, &#8220;;&#8221;)<br \/>\nIf ogeler.Length &lt; 2 Then Exit For<br \/>\nIf InStr(ogeler(0), &#8220;Kalk\u0131\u015f&#8221;) And i &gt; 5 And cumartesi = True Then<br \/>\ncumartesi = False<br \/>\npazar = True<br \/>\nEnd If<br \/>\nIf InStr(ogeler(0), &#8220;Kalk\u0131\u015f&#8221;) And i &gt; 5 And cumartesi = False And pazar = False Then<br \/>\ncumartesi = True<br \/>\nEnd If<br \/>\nIf cumartesi = True Then<br \/>\noSheet.Cells(cumartesisayisi + 2, 3) = ogeler(0)<br \/>\noSheet.Cells(cumartesisayisi + 2, 4) = ogeler(1)<br \/>\ncumartesisayisi += 1<br \/>\nEnd If<br \/>\nIf pazar = True Then<br \/>\noSheet.Cells(pazarsayisi + 2, 5) = ogeler(0)<br \/>\noSheet.Cells(pazarsayisi + 2, 6) = ogeler(1)<br \/>\npazarsayisi += 1<br \/>\nEnd If<br \/>\nIf cumartesi = False And pazar = False Then<br \/>\noSheet.Cells(i + 2, 1) = ogeler(0)<br \/>\noSheet.Cells(i + 2, 2) = ogeler(1)<br \/>\nEnd If<br \/>\nNext<br \/>\nIf cumartesisayisi &gt; 0 Then<br \/>\n&#8216; E\u011fer cumartesi g\u00fcn\u00fc sefer varsa C2 den ba\u015flay\u0131p<br \/>\n&#8216; Cumartesi g\u00fcn\u00fc sonuna kadar renklendirelim<br \/>\nWith oSheet.Range(&#8220;C2&#8221;, &#8220;D&#8221; &amp; cumartesisayisi + 1)<br \/>\n&#8216;.Font.Bold = True<br \/>\n.Interior.ColorIndex = 17<br \/>\n.VerticalAlignment = Excel.XlVAlign.xlVAlignCenter<br \/>\nEnd With<br \/>\nEnd If<br \/>\nWith oSheet.Range(&#8220;A1&#8221;, &#8220;F1&#8221;)<br \/>\n&#8216; Otob\u00fcs guzergah\u0131n\u0131 bi\u00e7imlendirelim<br \/>\n.Merge()<br \/>\n.Font.Size = 7<br \/>\n.Font.Bold = True<br \/>\n.HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter<br \/>\nEnd With<br \/>\nWith oSheet.Range(&#8220;A2&#8221;, &#8220;F2&#8221;)<br \/>\n&#8216; Ba\u015fl\u0131k bilgilerini bi\u00e7imlendirelim<br \/>\n.WrapText = True<br \/>\n.ColumnWidth = 10<br \/>\n.Font.Size = 7<br \/>\n.Font.Bold = True<br \/>\n.Interior.ColorIndex = 13<br \/>\n.HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter<br \/>\n.VerticalAlignment = Excel.XlVAlign.xlVAlignCenter<br \/>\n.EntireColumn.AutoFit()<br \/>\nEnd With<br \/>\nWith oSheet.Range(&#8220;A3&#8221;, &#8220;F253&#8221;)<br \/>\n.Font.Size = 9<br \/>\n.EntireColumn.AutoFit()<br \/>\n.HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter<br \/>\n.VerticalAlignment = Excel.XlVAlign.xlVAlignCenter<br \/>\nEnd With<\/p>\n<p>Dim dosyaadi As String = otobusno &amp; &#8220;-&#8221; &amp; Replace(oSheet.Cells(2, 1).Value.ToString, &#8221; Kalk\u0131\u015f&#8221;, &#8220;&#8221;) &amp; &#8220;-&#8221; &amp; Replace(oSheet.Cells(2, 2).value.ToString, &#8221; Kalk\u0131\u015f&#8221;, &#8220;&#8221;) &amp; &#8220;(&#8221; &amp; guzergah &amp; &#8220;)&#8221; &amp; &#8220;.xls&#8221;<br \/>\nIf Len(dosyaadi) &gt; 150 Then<br \/>\ndosyaadi = otobusno &amp; &#8220;-&#8221; &amp; Replace(oSheet.Cells(2, 1).Value.ToString, &#8221; Kalk\u0131\u015f&#8221;, &#8220;&#8221;) &amp; &#8220;-&#8221; &amp; Replace(oSheet.Cells(2, 2).value.ToString, &#8221; Kalk\u0131\u015f&#8221;, &#8220;&#8221;) &amp; &#8220;(&#8221; &amp; Mid(guzergah, 1, 100) &amp; &#8220;)&#8221; &amp; &#8220;.xls&#8221;<br \/>\nEnd If<br \/>\nIf System.IO.File.Exists(path + &#8220;\\Otobus\\&#8221; + dosyaadi) Then<br \/>\nDim cvp = MessageBox.Show(&#8220;Kay\u0131t edilmeye \u00e7al\u0131\u015f\u0131lan dosya mevcut \u00fczerine yaz\u0131ls\u0131n m\u0131?&#8221; &amp; vbCrLf &amp; &#8220;Dosyaad\u0131:&#8221; &amp; path + &#8220;\\Otobus\\&#8221; + dosyaadi, &#8220;Dosya Mevcut&#8221;, MessageBoxButtons.YesNo, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1)<br \/>\nIf cvp = vbYes Then<br \/>\nsilveuzerineyaz:<br \/>\n&#8216;Dosya mevcutsa eski dosyay\u0131 silelim<br \/>\nTry<br \/>\nSystem.IO.File.Delete(path + &#8220;\\Otobus\\&#8221; + dosyaadi)<br \/>\nCatch ex As IOException<br \/>\nMsgBox(&#8220;Dosya \u00fczerine yaz\u0131l\u0131rken hata olu\u015ftu&#8221; &amp; vbCrLf &amp; ex.Message)<br \/>\nExit Sub<br \/>\nEnd Try<br \/>\nElse<br \/>\nDim yenidosyaadi As String = &#8220;&#8221;<br \/>\nyenidosyaadi = InputBox(&#8220;Dosya Ad\u0131n\u0131 Giriniz iptal demeniz durumunda dosya kay\u0131t edilmeyecektir&#8221;, &#8220;Yeni Ad\u0131 Gir&#8221;, dosyaadi)<br \/>\nIf yenidosyaadi = &#8220;&#8221; Or yenidosyaadi = dosyaadi Then<br \/>\nGoTo cikis<br \/>\nElseIf yenidosyaadi &lt;&gt; dosyaadi Then<br \/>\nIf InStr(yenidosyaadi, &#8220;.xls&#8221;) = 0 Then yenidosyaadi += &#8220;.xls&#8221;<br \/>\ndosyaadi = yenidosyaadi<br \/>\nEnd If<br \/>\nEnd If<br \/>\nEnd If<br \/>\noSheet.SaveAs(path + &#8220;\\Otobus\\&#8221; + dosyaadi)<br \/>\noWB.Close(False)<br \/>\noXL.Workbooks.Close()<br \/>\noXL.Quit()<br \/>\nsonalinan = otobusno<br \/>\ncikis:<br \/>\nInterlocked.Decrement(threadcount)<br \/>\nEnd Sub<\/p>\n<p>End Class<\/p>\n<p>Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnvapur.Click<br \/>\nDirectoryCheck()<br \/>\npath = txtpath.Text<br \/>\nDim thbaslat As Thread<br \/>\nDim thkbaslat As New ThreadStart(AddressOf VapurTara)<br \/>\nthbaslat = New Thread(thkbaslat)<br \/>\nthbaslat.Start()<br \/>\nEnd Sub<\/p>\n<p>Private Sub VapurTara()<br \/>\nSystem.IO.Directory.CreateDirectory(path &amp; &#8220;\\Vapur&#8221;)<br \/>\nbtnvapur.Enabled = False<br \/>\n&#8216; Program\u0131n \u00e7al\u0131\u015fma a\u015famalar\u0131<br \/>\n&#8216; \u0130zmir belediyesinin vapur.asp sayfas\u0131na ba\u011flan\u0131p<br \/>\n&#8216; Kalk\u0131\u015f ve var\u0131\u015f comboboxlar\u0131ndaki de\u011ferler al\u0131nd\u0131ktan sonra.<br \/>\n&#8216; Her kalk\u0131\u015f noktas\u0131ndan her var\u0131\u015f noktas\u0131 i\u00e7in<br \/>\n&#8216; de\u011ferleri post edip gelen de\u011ferlere g\u00f6re e\u011fer vapur var ise<br \/>\n&#8216; kalk\u0131\u015f ve var\u0131\u015f noktalar\u0131na g\u00f6re xls dosyas\u0131 olu\u015fturmakta.<br \/>\nDim kaynak As String = &#8220;&#8221;<br \/>\nDim kalkis As String = &#8220;&#8221;<br \/>\nDim varis As String = &#8220;&#8221;<br \/>\nTry<br \/>\nDim istek As HttpWebRequest = HttpWebRequest.Create(&#8220;http:\/\/www.izmir.bel.tr\/vapur.asp&#8221;)<br \/>\nDim cevap As HttpWebResponse = istek.GetResponse<br \/>\nDim sr As IO.StreamReader = New IO.StreamReader(cevap.GetResponseStream(), Encoding.GetEncoding(&#8220;windows-1254&#8221;))<br \/>\nkaynak = sr.ReadToEnd()<br \/>\nCatch ex As WebException<br \/>\nMsgBox(&#8220;Web sayfas\u0131 al\u0131n\u0131rken sorun olu\u015ftu&#8221; &amp; vbCrLf &amp; ex.Message)<br \/>\nGoTo cikis<br \/>\nEnd Try<\/p>\n<p>Dim baslangictext As String = &#8220;&lt;select class=&#8221;&#8221;frm&#8221;&#8221; name=&#8221;&#8221;kal&#8221;&#8221;&gt;&#8221;<br \/>\nDim bitistext As String = &#8220;&lt;\/select&gt;&#8221;<br \/>\nDim tablobas As Integer = InStr(kaynak, baslangictext) + 40<br \/>\nIf tablobas = 0 Then<br \/>\n&#8216;Ana web sayfas\u0131 i\u00e7erisindeki comboboxlardaki de\u011ferleri alal\u0131m<br \/>\nGoTo cikis<br \/>\nEnd If<br \/>\nDim tabloson As Integer = InStr(Mid(kaynak, tablobas, Len(kaynak) &#8211; tablobas), bitistext) &#8211; 25<\/p>\n<p>kalkis = Mid(kaynak, tablobas, tabloson)<br \/>\nkalkis = Replace(kalkis, Chr(13), &#8220;&#8221;)<br \/>\nkalkis = Replace(kalkis, Chr(10), &#8220;&#8221;)<br \/>\nkalkis = Replace(kalkis, &#8221; &#8220;, &#8220;&#8221;)<br \/>\nkalkis = Replace(kalkis, &#8221; &#8220;, &#8220;&#8221;)<br \/>\nkalkis = Replace(kalkis, &#8221; &#8220;, &#8220;&#8221;)<br \/>\nkalkis = Replace(kalkis, &#8221; &lt;option value=&#8221;&#8221;&#8221;, &#8220;&#8221;)<br \/>\nkalkis = Replace(kalkis, &#8220;&lt;option value=&#8221;&#8221;&#8221;, &#8220;&#8221;)<br \/>\nkalkis = Replace(kalkis, &#8220;&#8221;&#8221; &gt;&#8221;, &#8220;;&#8221;)<br \/>\nkalkis = Replace(kalkis, &#8220;&lt;\/option&gt;&#8221;, Chr(13))<br \/>\nDim kalkislar() As String = Split(kalkis, Chr(13))<br \/>\n&#8216; Her bir sat\u0131r i\u00e7in bir dizi olu\u015ftural\u0131m<\/p>\n<p>baslangictext = &#8220;&lt;select class=&#8221;&#8221;frm&#8221;&#8221; name=&#8221;&#8221;Var&#8221;&#8221;&gt;&#8221;<br \/>\nbitistext = &#8220;&lt;select class=&#8221;&#8221;frm&#8221;&#8221; name=&#8221;&#8221;gun&#8221;&#8221;&gt;&#8221;<br \/>\ntablobas = InStr(kaynak, baslangictext) + 40<br \/>\ntabloson = InStr(Mid(kaynak, tablobas, Len(kaynak) &#8211; tablobas), bitistext) &#8211; 115<br \/>\nvaris = Mid(kaynak, tablobas, tabloson)<br \/>\nvaris = Replace(varis, Chr(13), &#8220;&#8221;)<br \/>\nvaris = Replace(varis, Chr(10), &#8220;&#8221;)<br \/>\nvaris = Replace(varis, &#8221; &#8220;, &#8220;&#8221;)<br \/>\nvaris = Replace(varis, &#8221; &#8220;, &#8220;&#8221;)<br \/>\nvaris = Replace(varis, &#8221; &#8220;, &#8220;&#8221;)<br \/>\nvaris = Replace(varis, &#8221; &lt;option value=&#8221;&#8221;&#8221;, &#8220;&#8221;)<br \/>\nvaris = Replace(varis, &#8220;&lt;option value=&#8221;&#8221;&#8221;, &#8220;&#8221;)<br \/>\nvaris = Replace(varis, &#8220;&#8221;&#8221; &gt;&#8221;, &#8220;;&#8221;)<br \/>\nvaris = Replace(varis, &#8220;&lt;\/option&gt;&#8221;, Chr(13))<br \/>\nvaris = Replace(varis, Chr(13) + Chr(32), &#8220;&#8221;)<br \/>\nDim varislar() As String = Split(varis, Chr(13))<br \/>\n&#8216; Her bir sat\u0131r i\u00e7in bir dizi olu\u015ftural\u0131m<\/p>\n<p>For i As Integer = 0 To kalkislar.Length &#8211; 1<br \/>\nFor y As Integer = 0 To varislar.Length &#8211; 1<br \/>\nIf InStr(kalkislar(i), &#8220;;&#8221;) = 0 Then GoTo sonraki<br \/>\nIf InStr(varislar(y), &#8220;;&#8221;) = 0 Then GoTo sonraki<\/p>\n<p>Dim strkalkis As String = Mid(kalkislar(i), 1, InStr(kalkislar(i), &#8220;;&#8221;) &#8211; 1)<br \/>\nDim strvaris As String = Mid(varislar(y), 1, InStr(varislar(y), &#8220;;&#8221;) &#8211; 1)<br \/>\nIf strkalkis &lt;&gt; strvaris Then<br \/>\nDim strkalkispost As String = strkalkis<br \/>\nDim strvarispost As String = strvaris<br \/>\n&#8216; T\u00fcrk\u00e7e karakterler post edilirken<br \/>\n&#8216; a\u015fa\u011f\u0131daki \u015fekilde d\u00f6n\u00fc\u015ft\u00fcrmeleri gerekiyor.<br \/>\nstrkalkispost = Replace(strkalkispost, &#8221; &#8220;, &#8220;+&#8221;)<br \/>\nstrkalkispost = Replace(strkalkispost, &#8220;(&#8220;, &#8220;%28&#8221;)<br \/>\nstrkalkispost = Replace(strkalkispost, &#8220;)&#8221;, &#8220;%29&#8221;)<br \/>\nstrkalkispost = Replace(strkalkispost, &#8220;\u00dc&#8221;, &#8220;%DC&#8221;)<br \/>\nstrkalkispost = Replace(strkalkispost, &#8220;\u00c7&#8221;, &#8220;%C7&#8221;)<br \/>\nstrkalkispost = Replace(strkalkispost, &#8220;\u015e&#8221;, &#8220;%DE&#8221;)<br \/>\nstrkalkispost = Replace(strkalkispost, &#8220;\u00d6&#8221;, &#8220;%D6&#8243;)<br \/>\nstrvarispost = Replace(strvarispost, &#8221; &#8220;, &#8220;+&#8221;)<br \/>\nstrvarispost = Replace(strvarispost, &#8220;(&#8220;, &#8220;%28&#8221;)<br \/>\nstrvarispost = Replace(strvarispost, &#8220;)&#8221;, &#8220;%29&#8221;)<br \/>\nstrvarispost = Replace(strvarispost, &#8220;\u00dc&#8221;, &#8220;%DC&#8221;)<br \/>\nstrvarispost = Replace(strvarispost, &#8220;\u00c7&#8221;, &#8220;%C7&#8221;)<br \/>\nstrvarispost = Replace(strvarispost, &#8220;\u015e&#8221;, &#8220;%DE&#8221;)<br \/>\nstrvarispost = Replace(strvarispost, &#8220;\u00d6&#8221;, &#8220;%D6&#8221;)<br \/>\nlblsondurum.Text = &#8220;Al\u0131n\u0131yor : &#8221; &amp; strkalkis &amp; &#8220;-&#8221; &amp; strvaris<br \/>\n&#8216;Her vapur i\u00e7in hafta i\u00e7i,c.tesi ve pazar\u0131 deneyelim<br \/>\nDim z As Integer<br \/>\nDim oXL As Excel.Application<br \/>\nDim oWB As Excel.Workbook<br \/>\nDim oSheet As Excel.Worksheet<br \/>\nDim vapurungunsayisi As Integer = 0<br \/>\nDim vapurhareketsayisi As Integer = 0<br \/>\nFor z = 0 To 2<br \/>\nDim oWeb As New System.Net.WebClient()<br \/>\noWeb.Headers.Add(&#8220;Content-Type&#8221;, &#8220;application\/x-www-form-urlencoded&#8221;)<br \/>\nDim bytRetData As Byte()<\/p>\n<p>Dim bytArguments As Byte()<br \/>\nIf z = 0 Then<br \/>\nbytArguments = System.Text.Encoding.GetEncoding(&#8220;windows-1254&#8221;).GetBytes(&#8220;guncek=0&amp;kal=&#8221; &amp; strkalkispost &amp; &#8220;&amp;var=&#8221; &amp; strvarispost &amp; &#8220;&amp;gun=H&amp;cek=1&#8221;)<br \/>\nElseIf z = 1 Then<br \/>\nbytArguments = System.Text.Encoding.GetEncoding(&#8220;windows-1254&#8221;).GetBytes(&#8220;guncek=1&amp;kal=&#8221; &amp; strkalkispost &amp; &#8220;&amp;var=&#8221; &amp; strvarispost &amp; &#8220;&amp;gun=C&amp;cek=1&#8221;)<br \/>\nElse<br \/>\nbytArguments = System.Text.Encoding.GetEncoding(&#8220;windows-1254&#8221;).GetBytes(&#8220;guncek=2&amp;kal=&#8221; &amp; strkalkispost &amp; &#8220;&amp;var=&#8221; &amp; strvarispost &amp; &#8220;&amp;gun=P&amp;cek=1&#8221;)<br \/>\nEnd If<br \/>\nTry<br \/>\nbytRetData = oWeb.UploadData(&#8220;http:\/\/www.izmir.bel.tr\/vapur.asp?idd=2&#8221;, &#8220;POST&#8221;, bytArguments)<br \/>\nCatch ex As WebException<br \/>\nMsgBox(&#8220;Web sayfas\u0131 al\u0131n\u0131rken hata olu\u015ftu&#8221; &amp; vbCrLf &amp; ex.Message)<br \/>\nExit Sub<br \/>\nEnd Try<br \/>\nkaynak = System.Text.Encoding.GetEncoding(&#8220;windows-1254&#8221;).GetString(bytRetData)<br \/>\nIf InStr(kaynak, &#8220;Bu kriterlere uygun vapur&#8221;) Then<br \/>\n&#8216;GoTo sonraki<br \/>\n&#8216;E\u011fer sorgulara kar\u015f\u0131l\u0131k olarak sayfa i\u00e7eri\u011finde<br \/>\n&#8216; Bu kriterlere uygun vapur bulunamad\u0131 yer alm\u0131yorsa<br \/>\n&#8216; a\u015fa\u011f\u0131daki i\u015flemleri yap\u0131yoruz<br \/>\nElse<br \/>\nvapurungunsayisi += 1<br \/>\nIf z = 0 Then<br \/>\noXL = CreateObject(&#8220;Excel.Application&#8221;)<br \/>\noXL.Visible = False<br \/>\noWB = oXL.Workbooks.Add<br \/>\noSheet = oWB.ActiveSheet<br \/>\nEnd If<br \/>\noSheet.Cells(1, 3) = &#8220;Hafta \u0130\u00e7i&#8221;<br \/>\noSheet.Cells(1, 5) = &#8220;Cumartesi&#8221;<br \/>\noSheet.Cells(1, 7) = &#8220;Pazar&#8221;<br \/>\nbaslangictext = &#8220;&lt;table width=&#8221;&#8221;565&#8243;&#8221; border=&#8221;&#8221;0&#8243;&#8221; cellspacing=&#8221;&#8221;0&#8243;&#8221; cellpadding=&#8221;&#8221;0&#8243;&#8221;&gt;&#8221;<br \/>\nbaslangictext = &#8220;&lt;td width=&#8221;&#8221;135&#8243;&#8221; height=&#8221;&#8221;12&#8243;&#8221; align=&#8221;&#8221;center&#8221;&#8221;&gt;&lt;b&gt;Kalk\u0131\u015f&lt;\/b&gt;&lt;\/td&gt;&#8221;<br \/>\nbitistext = &#8220;&lt;\/table&gt;&#8221;<br \/>\ntablobas = 0<br \/>\ntablobas = InStr(kaynak, baslangictext)<br \/>\ntabloson = 0<br \/>\ntabloson = InStr(Mid(kaynak, tablobas, Len(kaynak) &#8211; tablobas), bitistext) &#8211; 20<br \/>\nDim vapurseferleri As String = Mid(kaynak, tablobas, tabloson)<br \/>\nvapurseferleri = Replace(vapurseferleri, &#8220;\u00c7&#8221;, &#8220;C&#8221;)<br \/>\nvapurseferleri = Replace(vapurseferleri, &#8220;\u00dc&#8221;, &#8220;U&#8221;)<br \/>\nvapurseferleri = Replace(vapurseferleri, &#8220;\u0131&#8221;, &#8220;i&#8221;)<br \/>\nvapurseferleri = Replace(vapurseferleri, &#8220;\u015f&#8221;, &#8220;s&#8221;)<br \/>\nvapurseferleri = Replace(vapurseferleri, &#8220;G?zergah&#8221;, &#8220;Guzergah&#8221;)<br \/>\nvapurseferleri = Replace(vapurseferleri, &#8220;KAR?&#8221;, &#8220;KARS&#8221;)<br \/>\nvapurseferleri = Replace(vapurseferleri, &#8220;\u015f&#8221;, &#8220;s&#8221;)<br \/>\nvapurseferleri = Replace(vapurseferleri, &#8221;&nbsp;&#8220;, &#8221; &#8220;)<br \/>\nvapurseferleri = Replace(vapurseferleri, &#8221; &#8220;, &#8220;&#8221;)<br \/>\nvapurseferleri = Replace(vapurseferleri, &#8221; &#8220;, &#8220;&#8221;)<br \/>\nvapurseferleri = Replace(vapurseferleri, &#8221; &#8220;, &#8220;&#8221;)<br \/>\nvapurseferleri = Replace(vapurseferleri, Chr(10), &#8220;&#8221;)<br \/>\nvapurseferleri = Replace(vapurseferleri, Chr(13), &#8220;&#8221;)<br \/>\nvapurseferleri = Replace(vapurseferleri, &#8220;&lt;td width=&#8221;&#8221;135&#8243;&#8221; height=&#8221;&#8221;12&#8243;&#8221; align=&#8221;&#8221;center&#8221;&#8221;&gt;&lt;b&gt;&#8221;, &#8220;&#8221;)<br \/>\nvapurseferleri = Replace(vapurseferleri, &#8220;&lt;\/b&gt;&lt;\/td&gt;&lt;td width=&#8221;&#8221;101&#8243;&#8221; height=&#8221;&#8221;12&#8243;&#8221; align=&#8221;&#8221;center&#8221;&#8221;&gt;&lt;b&gt;&#8221;, &#8220;;&#8221;)<br \/>\nvapurseferleri = Replace(vapurseferleri, &#8220;&lt;\/b&gt;&lt;\/td&gt;&lt;td width=&#8221;&#8221;101&#8243;&#8221; height=&#8221;&#8221;12&#8243;&#8221; align=&#8221;&#8221;center&#8221;&#8221;&gt;&lt;b&gt;&#8221;, &#8220;;&#8221;)<br \/>\nvapurseferleri = Replace(vapurseferleri, &#8220;&lt;\/b&gt;&lt;\/td&gt;&lt;td width=&#8221;&#8221;225&#8243;&#8221; height=&#8221;&#8221;12&#8243;&#8221; align=&#8221;&#8221;center&#8221;&#8221;&gt;&lt;b&gt;&#8221;, &#8220;;&#8221;)<br \/>\nvapurseferleri = Replace(vapurseferleri, &#8220;&lt;\/b&gt;&lt;\/td&gt;&lt;td width=&#8221;&#8221;54&#8243;&#8221; height=&#8221;&#8221;12&#8243;&#8221; align=&#8221;&#8221;center&#8221;&#8221;&gt;&lt;b&gt;&#8221;, &#8220;;&#8221;)<br \/>\nvapurseferleri = Replace(vapurseferleri, &#8220;&lt;tr bgcolor=&#8221;&#8221;#FFFFFF&#8221;&#8221;&gt;&lt;td width=&#8221;&#8221;135&#8243;&#8221; align=&#8221;&#8221;center&#8221;&#8221; height=&#8221;&#8221;22&#8243;&#8221;&gt;&#8221;, &#8220;&#8221;)<br \/>\nvapurseferleri = Replace(vapurseferleri, &#8220;&lt;\/td&gt;&lt;td align=&#8221;&#8221;center&#8221;&#8221; width=&#8221;&#8221;101&#8243;&#8221;&gt;&#8221;, &#8220;;&#8221;)<br \/>\nvapurseferleri = Replace(vapurseferleri, &#8220;&lt;\/td&gt;&lt;td width=&#8221;&#8221;225&#8243;&#8221;&gt;&nbsp;&#8220;, &#8220;;&#8221;)<br \/>\nvapurseferleri = Replace(vapurseferleri, &#8220;&lt;\/td&gt;&lt;td width=&#8221;&#8221;225&#8243;&#8221;&gt;&#8221;, &#8220;;&#8221;)<br \/>\nvapurseferleri = Replace(vapurseferleri, &#8220;&lt;\/td&gt;&lt;td align=&#8221;&#8221;center&#8221;&#8221; width=&#8221;&#8221;54&#8243;&#8221;&gt;&#8221;, &#8220;;&#8221;)<br \/>\nvapurseferleri = Replace(vapurseferleri, &#8220;&lt;\/td&gt;&lt;\/tr&gt;&#8221;, Chr(13))<br \/>\nvapurseferleri = Replace(vapurseferleri, &#8220;&lt;\/b&gt;&#8221;, &#8220;&#8221;)<\/p>\n<p>Dim seferler() As String = Split(vapurseferleri, Chr(13))<br \/>\n&#8216; En fazla ka\u00e7 sat\u0131r \u00e7\u0131km\u0131\u015f onu excel renklendirme i\u00e7in alal\u0131m<br \/>\nIf seferler.Length &gt; vapurhareketsayisi Then vapurhareketsayisi = seferler.Length<br \/>\nFor p As Integer = 0 To seferler.Length &#8211; 1<br \/>\nDim satir As String = seferler(p).ToString<br \/>\nDim ogeler() As String = Split(satir, &#8220;;&#8221;)<br \/>\n&#8216; Daha \u00f6nce ; ile ay\u0131rd\u0131\u011f\u0131m\u0131z de\u011ferler par\u00e7alay\u0131p ilkgili h\u00fccrelere yazal\u0131m<br \/>\nIf ogeler.Length &lt; 3 Then Exit For<br \/>\nIf z = 0 Then<br \/>\noSheet.Cells(p + 2, 1) = ogeler(0)<br \/>\noSheet.Cells(p + 2, 2) = ogeler(1)<br \/>\noSheet.Cells(p + 2, 3) = ogeler(2)<br \/>\noSheet.Cells(p + 2, 4) = ogeler(3)<br \/>\nElseIf z = 1 Then<br \/>\noSheet.Cells(p + 2, 5) = ogeler(2)<br \/>\noSheet.Cells(p + 2, 6) = ogeler(3)<br \/>\nElse<br \/>\noSheet.Cells(p + 2, 7) = ogeler(2)<br \/>\noSheet.Cells(p + 2, 8) = ogeler(3)<br \/>\nEnd If<br \/>\nNext<br \/>\nEnd If &#8216;Vapur bulundu\/bulunamad\u0131<br \/>\nNext &#8216;z 0 dan 3 e kadar g\u00fcnler i\u00e7in<br \/>\nIf vapurungunsayisi &gt; 0 Then<br \/>\nWith oSheet.Range(&#8220;A1&#8221;, &#8220;A2&#8221;)<br \/>\n.Merge()<br \/>\nEnd With<br \/>\nWith oSheet.Range(&#8220;B1&#8221;, &#8220;B2&#8221;)<br \/>\n.Merge()<br \/>\nEnd With<br \/>\nWith oSheet.Range(&#8220;C1&#8221;, &#8220;D1&#8221;)<br \/>\n.Merge()<br \/>\nEnd With<br \/>\nWith oSheet.Range(&#8220;E1&#8221;, &#8220;F1&#8221;)<br \/>\n.Merge()<br \/>\nEnd With<br \/>\nWith oSheet.Range(&#8220;G1&#8221;, &#8220;H1&#8221;)<br \/>\n.Merge()<br \/>\nEnd With<br \/>\nWith oSheet.Range(&#8220;A1&#8221;, &#8220;H1&#8221;)<br \/>\n.HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter<br \/>\n.VerticalAlignment = Excel.XlVAlign.xlVAlignCenter<br \/>\nEnd With<br \/>\nWith oSheet.Range(&#8220;A2&#8221;, &#8220;H253&#8221;)<br \/>\n&#8216;.WrapText = True<br \/>\n&#8216;.ColumnWidth = 10<br \/>\n.Font.Size = 9<br \/>\n.EntireColumn.AutoFit()<br \/>\n.HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter<br \/>\n.VerticalAlignment = Excel.XlVAlign.xlVAlignCenter<br \/>\nEnd With<br \/>\noSheet.Range(&#8220;D1&#8221;, &#8220;D90&#8221;).ColumnWidth = 6<br \/>\noSheet.Range(&#8220;D1&#8221;, &#8220;D90&#8221;).WrapText = True<br \/>\noSheet.Range(&#8220;F1&#8221;, &#8220;F90&#8221;).ColumnWidth = 6<br \/>\noSheet.Range(&#8220;F1&#8221;, &#8220;F90&#8221;).WrapText = True<br \/>\noSheet.Range(&#8220;H1&#8221;, &#8220;H90&#8221;).ColumnWidth = 6<br \/>\noSheet.Range(&#8220;H1&#8221;, &#8220;H90&#8221;).WrapText = True<br \/>\noSheet.Range(&#8220;E3&#8221;, &#8220;F&#8221; &amp; vapurhareketsayisi).Interior.ColorIndex = 17<br \/>\noSheet.SaveAs(path &amp; &#8220;\\Vapur\\&#8221; &amp; strkalkis &amp; &#8220;-&#8221; &amp; strvaris &amp; &#8220;.xls&#8221;)<br \/>\noWB.Close()<br \/>\noXL.Quit()<br \/>\nEnd If<\/p>\n<p>End If &#8216;kalk\u0131\u015f ile var\u0131\u015f farkl\u0131ysa<\/p>\n<p>sonraki:<\/p>\n<p>Next<br \/>\nNext<br \/>\ncikis:<br \/>\nlblsondurum.Text = &#8220;Vapur Listeleme Sona Erdi&#8221; &amp; vbCrLf &amp; &#8220;Baz\u0131 excel uygulamalar\u0131 kapanmam\u0131\u015f olabilir elle sonland\u0131rabilirsiniz..&#8221;<br \/>\nbtnvapur.Enabled = True<br \/>\nEnd Sub<\/p>\n<p>Private Sub TextBox1_MouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles txtpath.MouseClick<br \/>\nobjfolder.ShowNewFolderButton = True<br \/>\nbas:<br \/>\nobjfolder.ShowDialog()<br \/>\nIf objfolder.SelectedPath &lt;&gt; &#8220;&#8221; Then<br \/>\ntxtpath.Text = objfolder.SelectedPath<br \/>\nEnd If<br \/>\nIf Not System.IO.Directory.Exists(txtpath.Text) Then<br \/>\nMsgBox(&#8220;Dosyalar\u0131n kay\u0131t edilece\u011fi klas\u00f6r mevcut de\u011fil&#8221;)<br \/>\nGoTo bas<br \/>\nEnd If<br \/>\nEnd Sub<\/p>\n<p>Private Sub ProcessKill()<br \/>\nDim isleyenprocess As Integer = 0<br \/>\nFor Each proc As Process In Process.GetProcessesByName(&#8220;Excel&#8221;)<br \/>\nisleyenprocess += 1<br \/>\nNext proc<br \/>\ntekrarsonlandir:<br \/>\nFor y As Integer = 0 To isleyenprocess<br \/>\nDim objProcess As New Process()<br \/>\nobjProcess.StartInfo.UseShellExecute = False<br \/>\nobjProcess.StartInfo.RedirectStandardOutput = True<br \/>\nobjProcess.StartInfo.CreateNoWindow = True<br \/>\nobjProcess.StartInfo.RedirectStandardError = True<br \/>\nobjProcess.StartInfo.FileName() = &#8220;taskkill.exe&#8221;<br \/>\nobjProcess.StartInfo.Arguments() = &#8220;\/im:excel.exe \/f&#8221;<br \/>\nobjProcess.Start()<br \/>\nNext<br \/>\nThread.Sleep(5000)<br \/>\nisleyenprocess = 0<br \/>\nFor Each proc As Process In Process.GetProcessesByName(&#8220;Excel&#8221;)<br \/>\nisleyenprocess += 1<br \/>\nNext proc<br \/>\nIf isleyenprocess &gt; 0 Then<br \/>\nGoTo tekrarsonlandir<br \/>\nEnd If<br \/>\nEnd Sub<\/p>\n<p>Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click<br \/>\nDirectoryCheck()<\/p>\n<p>path = txtpath.Text<br \/>\nDim thbaslat As Thread<br \/>\nDim thkbaslat As New ThreadStart(AddressOf BanliyoTara)<br \/>\nthbaslat = New Thread(thkbaslat)<br \/>\nthbaslat.Start()<\/p>\n<p>End Sub<br \/>\nPrivate Sub BanliyoTara()<br \/>\nlblsondurum.Text = &#8220;Banliyo seferleri al\u0131n\u0131yor&#8230;&#8221;<br \/>\nSystem.IO.Directory.CreateDirectory(path &amp; &#8220;\\Banliyo&#8221;)<br \/>\nDim kaynakkodu As String = &#8220;&#8221;<br \/>\nDim kaynak As String = &#8220;&#8221;<br \/>\nTry<br \/>\nDim istek As HttpWebRequest = HttpWebRequest.Create(&#8220;http:\/\/www.izban.com.tr\/Sayfalar\/Single.aspx?Page=33&#8221;)<br \/>\nDim cevap As HttpWebResponse = istek.GetResponse<br \/>\nDim sr As IO.StreamReader = New IO.StreamReader(cevap.GetResponseStream(), Encoding.GetEncoding(&#8220;windows-1254&#8221;))<br \/>\nkaynak = sr.ReadToEnd()<br \/>\nCatch ex As WebException<br \/>\nMsgBox(&#8220;Web sayfas\u0131 al\u0131n\u0131rken sorun olu\u015ftu&#8221; &amp; vbCrLf &amp; ex.Message)<br \/>\nGoTo cikis<br \/>\nEnd Try<\/p>\n<p>If Not (InStr(kaynak, &#8220;Alsancak&#8221;) &gt; 0) Then<br \/>\n&#8216;Banliyo Yok<br \/>\nGoTo cikis<br \/>\nEnd If<br \/>\nDim baslangictext As String = &#8220;&lt;tbody&gt;&#8221;<br \/>\nDim bitistext As String = &#8220;&lt;\/tbody&gt;&#8221;<br \/>\nDim tablobas As Integer = InStr(kaynak, baslangictext)<br \/>\nIf tablobas = 0 Then<br \/>\n&#8216;tablo bulunamad\u0131<br \/>\nGoTo cikis<br \/>\nEnd If<br \/>\nDim tabloson As Integer = InStr(Mid(kaynak, tablobas, Len(kaynak) &#8211; tablobas), bitistext) &#8211; 20<br \/>\nkaynakkodu = Mid(kaynak, tablobas, tabloson)<br \/>\nkaynakkodu = Replace(kaynakkodu, Chr(13), &#8220;&#8221;)<br \/>\nkaynakkodu = Replace(kaynakkodu, Chr(10), &#8220;&#8221;)<br \/>\nkaynakkodu = Replace(kaynakkodu, &#8221; &#8220;, &#8220;&#8221;)<br \/>\nkaynakkodu = Replace(kaynakkodu, &#8221; &#8220;, &#8220;&#8221;)<br \/>\nkaynakkodu = Replace(kaynakkodu, &#8220;&lt;\/tr&gt;&#8221;, Chr(13))<br \/>\nkaynakkodu = Replace(kaynakkodu, &#8220;&lt;font face=&#8221;&#8221;Calibri&#8221;&#8221; color=&#8221;&#8221;#000080&#8243;&#8221; size=&#8221;&#8221;5&#8243;&#8221;&gt;&#8221;, &#8220;&#8221;)<br \/>\nkaynakkodu = Replace(kaynakkodu, &#8220;&lt;font color=&#8221;&#8221;#000080&#8243;&#8221; size=&#8221;&#8221;5&#8243;&#8221; face=&#8221;&#8221;Calibri&#8221;&#8221;&gt;&#8221;, &#8220;&#8221;)<br \/>\nkaynakkodu = Replace(kaynakkodu, &#8220;&lt;font color=&#8221;&#8221;#ff0000&#8243;&#8221; size=&#8221;&#8221;5&#8243;&#8221; face=&#8221;&#8221;Calibri&#8221;&#8221;&gt;&#8221;, &#8220;&#8221;)<br \/>\nkaynakkodu = Replace(kaynakkodu, &#8220;&lt;\/font&gt;&#8221;, &#8220;&#8221;)<br \/>\nDim satirlar() As String = Split(kaynakkodu, Chr(13))<\/p>\n<p>Dim oXL As Excel.Application<br \/>\nDim oWB As Excel.Workbook<br \/>\nDim oSheet As Excel.Worksheet<\/p>\n<p>oXL = CreateObject(&#8220;Excel.Application&#8221;)<br \/>\noXL.Visible = False<\/p>\n<p>oWB = oXL.Workbooks.Add<br \/>\noSheet = oWB.ActiveSheet<br \/>\noSheet.Cells(1, 1) = &#8220;Alsancak Kalk\u0131\u015f&#8221;<br \/>\noSheet.Cells(1, 2) = &#8220;Cumaovas\u0131 Kalk\u0131\u015f&#8221;<br \/>\nFor i As Integer = 1 To satirlar.Length &#8211; 1<br \/>\nDim ilkhucre As String = &#8220;&#8221;<br \/>\nDim sonhucre As String = &#8220;&#8221;<br \/>\nDim s As String = satirlar(i)<br \/>\ntablobas = InStr(s, &#8220;&lt;strong&gt;&#8221;) + 8<br \/>\ntabloson = InStr(s, &#8220;&lt;\/strong&gt;&#8221;)<br \/>\nilkhucre = Mid(s, tablobas, tabloson &#8211; tablobas)<br \/>\ns = Mid(s, tabloson + 20, s.Length &#8211; tabloson)<br \/>\ntablobas = InStr(s, &#8220;&lt;strong&gt;&#8221;) + 8<br \/>\ntabloson = InStr(s, &#8220;&lt;\/strong&gt;&#8221;)<br \/>\nIf tabloson = 0 Then<br \/>\nsonhucre = &#8221; &#8221;<br \/>\nElse<br \/>\nsonhucre = Mid(s, tablobas, tabloson &#8211; tablobas)<br \/>\nEnd If<\/p>\n<p>oSheet.Cells(i + 1, 1) = ilkhucre<br \/>\noSheet.Cells(i + 1, 2) = sonhucre<br \/>\nNext<br \/>\nWith oSheet.Range(&#8220;A1&#8221;, &#8220;B253&#8221;)<br \/>\n.WrapText = True<br \/>\n.ColumnWidth = 10<br \/>\n.Font.Size = 9<br \/>\n.EntireColumn.AutoFit()<br \/>\n.HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter<br \/>\n.VerticalAlignment = Excel.XlVAlign.xlVAlignCenter<br \/>\nEnd With<br \/>\nIf System.IO.File.Exists(path &amp; &#8220;\\Banliyo\\Seferler.xls&#8221;) Then<br \/>\nDim cvp = MessageBox.Show(&#8220;Banliyo seferleri daha \u00f6nce kay\u0131t edilmi\u015f?&#8221; &amp; vbCrLf &amp; &#8220;Dosyaad\u0131:&#8221; + path &amp; &#8220;\\Banliyo\\Seferler.xls&#8221;, &#8220;Dosya Mevcut&#8221;, MessageBoxButtons.YesNo, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1)<br \/>\nIf cvp = vbYes Then<br \/>\nsilveuzerineyaz:<br \/>\n&#8216;Dosya mevcutsa eski dosyay\u0131 silelim<br \/>\nTry<br \/>\nSystem.IO.File.Delete(path &amp; &#8220;\\Banliyo\\Seferler.xls&#8221;)<br \/>\nCatch ex As IOException<br \/>\nMsgBox(&#8220;Dosya \u00fczerine yaz\u0131l\u0131rken hata olu\u015ftu&#8221; &amp; vbCrLf &amp; ex.Message)<br \/>\nlblsondurum.Text = &#8220;Banliyo seferleri yaz\u0131lamad\u0131&#8221;<br \/>\noWB.Close()<br \/>\noXL.Quit()<br \/>\nExit Sub<br \/>\nEnd Try<br \/>\nEnd If<br \/>\nEnd If<br \/>\noWB.SaveAs(path &amp; &#8220;\\Banliyo\\Seferler.xls&#8221;)<br \/>\noWB.Close()<br \/>\noXL.Quit()<\/p>\n<p>cikis:<br \/>\nlblsondurum.Text = &#8220;Banliyo seferleri al\u0131m\u0131 tamamland\u0131&#8230;&#8221;<br \/>\nEnd Sub<\/p>\n<p>Private Sub btnmetro_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnmetro.Click<br \/>\nDirectoryCheck()<br \/>\npath = txtpath.Text<br \/>\nDim thbaslat As Thread<br \/>\nDim thkbaslat As New ThreadStart(AddressOf MetroTara)<br \/>\nthbaslat = New Thread(thkbaslat)<br \/>\nthbaslat.Start()<br \/>\nEnd Sub<br \/>\nPrivate Sub MetroTara()<br \/>\nlblsondurum.Text = &#8220;Metro seferleri al\u0131n\u0131yor&#8230;&#8221;<br \/>\nSystem.IO.Directory.CreateDirectory(path &amp; &#8220;\\Metro&#8221;)<br \/>\nDim kaynakkodu As String = &#8220;&#8221;<br \/>\nDim kaynak As String = &#8220;&#8221;<br \/>\nTry<br \/>\nDim istek As HttpWebRequest = HttpWebRequest.Create(&#8220;http:\/\/www.izmir.bel.tr\/metro.asp&#8221;)<br \/>\nDim cevap As HttpWebResponse = istek.GetResponse<br \/>\nDim sr As IO.StreamReader = New IO.StreamReader(cevap.GetResponseStream(), Encoding.GetEncoding(&#8220;windows-1254&#8221;))<br \/>\nkaynak = sr.ReadToEnd()<br \/>\nCatch ex As WebException<br \/>\nMsgBox(&#8220;Web sayfas\u0131 al\u0131n\u0131rken sorun olu\u015ftu&#8221; &amp; vbCrLf &amp; ex.Message)<br \/>\nGoTo cikis<br \/>\nEnd Try<\/p>\n<p>If InStr(kaynak, &#8220;SEFER SIKLIKLARI&#8221;) = 0 Then<br \/>\n&#8216;Sayfada gerekli veri yok<br \/>\nGoTo cikis<br \/>\nEnd If<br \/>\nDim baslangictext As String = &#8220;&lt;td colspan=&#8221;&#8221;2&#8243;&#8221; bgcolor=&#8221;&#8221;#BCCAD2&#8243;&#8221;&gt;&#8221;<br \/>\nDim tablobas As Integer = InStr(kaynak, baslangictext)<br \/>\nIf tablobas = 0 Then<br \/>\n&#8216;tablo bulunamad\u0131<br \/>\nGoTo cikis<br \/>\nEnd If<\/p>\n<p>Dim bitistext As String = &#8220;&lt;\/table&gt;&lt;\/td&gt;&lt;\/tr&gt; &lt;\/table&gt;&lt;br&gt;&#8221;<br \/>\nDim tabloson As Integer = InStr(Mid(kaynak, tablobas, Len(kaynak) &#8211; tablobas), bitistext) &#8211; 36<br \/>\nkaynakkodu = Mid(kaynak, tablobas + 35, tabloson)<br \/>\nkaynakkodu = Replace(kaynakkodu, Chr(13), &#8220;&#8221;)<br \/>\nkaynakkodu = Replace(kaynakkodu, Chr(10), &#8220;&#8221;)<br \/>\nkaynakkodu = Replace(kaynakkodu, &#8221; &#8220;, &#8220;&#8221;)<br \/>\nkaynakkodu = Replace(kaynakkodu, &#8221; &#8220;, &#8220;&#8221;)<br \/>\nkaynakkodu = Replace(kaynakkodu, &#8220;&lt;\/tr&gt; &#8220;, Chr(13))<br \/>\nkaynakkodu = Replace(kaynakkodu, &#8220;&lt;\/tr&gt;&#8221;, Chr(13))<br \/>\nkaynakkodu = Replace(kaynakkodu, &#8220;&lt;tr bgcolor=&#8221;&#8221;#FFFFFF&#8221;&#8221;&gt; &lt;td width=&#8221;&#8221;17%&#8221;&#8221; height=&#8221;&#8221;20&#8243;&#8221;&gt;&#8221;, &#8220;&#8221;)<br \/>\nkaynakkodu = Replace(kaynakkodu, &#8220;&lt;\/td&gt;&lt;td width=&#8221;&#8221;16%&#8221;&#8221; bgcolor=&#8221;&#8221;#FFFFFF&#8221;&#8221;&gt;&#8221;, &#8220;;&#8221;)<br \/>\nkaynakkodu = Replace(kaynakkodu, &#8220;&lt;\/td&gt;&lt;td width=&#8221;&#8221;19%&#8221;&#8221;&gt;&#8221;, &#8220;;&#8221;)<br \/>\nkaynakkodu = Replace(kaynakkodu, &#8220;&lt;div align=&#8221;&#8221;center&#8221;&#8221;&gt;&lt;b&gt;&#8221;, &#8220;&#8221;)<br \/>\nkaynakkodu = Replace(kaynakkodu, &#8220;&lt;\/b&gt;&lt;\/div&gt;&lt;\/td&gt;&lt;td colspan=&#8221;&#8221;2&#8243;&#8221; bgcolor=&#8221;&#8221;#D8E0E5&#8243;&#8221;&gt; &#8220;, &#8220;;;&#8221;)<br \/>\nkaynakkodu = Replace(kaynakkodu, &#8220;&lt;\/b&gt;&lt;\/div&gt;&lt;\/td&gt;&lt;td colspan=&#8221;&#8221;2&#8243;&#8221; bgcolor=&#8221;&#8221;#EEF1F3&#8243;&#8221;&gt;&#8221;, &#8220;;;&#8221;)<br \/>\nkaynakkodu = Replace(kaynakkodu, &#8220;&lt;tr bgcolor=&#8221;&#8221;#FFFFFF&#8221;&#8221;&gt; &lt;td width=&#8221;&#8221;17%&#8221;&#8221;&gt;&lt;font size=&#8221;&#8221;1&#8243;&#8221;&gt;&lt;b&gt;&#8221;, &#8220;&#8221;)<br \/>\nkaynakkodu = Replace(kaynakkodu, &#8220;&lt;\/b&gt;&lt;\/font&gt;&lt;\/td&gt;&lt;td width=&#8221;&#8221;16%&#8221;&#8221;&gt;&lt;font size=&#8221;&#8221;1&#8243;&#8221;&gt;&lt;b&gt;&#8221;, &#8220;;&#8221;)<br \/>\nkaynakkodu = Replace(kaynakkodu, &#8220;&lt;\/b&gt;&lt;\/font&gt;&lt;font size=&#8221;&#8221;1&#8243;&#8221;&gt;&lt;b&gt;&#8221;, &#8220;&#8221;)<br \/>\n&#8216; kaynakkodu = Replace(kaynakkodu, &#8220;&lt;td colspan=&#8221;&#8221;2&#8243;&#8221; bgcolor=&#8221;&#8221;#EEF1F3&#8243;&#8221;&gt; &#8220;, &#8220;;;&#8221;)<br \/>\n&#8216;kaynakkodu = Replace(kaynakkodu, &#8220;&lt;td colspan=&#8221;&#8221;2&#8243;&#8221; bgcolor=&#8221;&#8221;#D8E0E5&#8243;&#8221;&gt; &#8220;, &#8220;;;&#8221;)<br \/>\nkaynakkodu = Replace(kaynakkodu, &#8220;&lt;\/td&gt;&lt;td width=&#8221;&#8221;16%&#8221;&#8221;&gt;&#8221;, &#8220;;&#8221;)<br \/>\nkaynakkodu = Replace(kaynakkodu, &#8220;&lt;\/td&gt;&#8221;, &#8220;&#8221;)<br \/>\nkaynakkodu = Replace(kaynakkodu, &#8220;&lt;\/b&gt;&lt;\/div&gt;&#8221;, &#8220;&#8221;)<br \/>\nkaynakkodu = Replace(kaynakkodu, &#8220;&lt;\/b&gt;&lt;\/font&gt;&#8221;, &#8220;&#8221;)<br \/>\nkaynakkodu = Replace(kaynakkodu, &#8220;&lt;font size=&#8221;&#8221;1&#8243;&#8221;&gt;&lt;b&gt;&#8221;, &#8220;&#8221;)<\/p>\n<p>Dim satirlar() As String = Split(kaynakkodu, Chr(13))<\/p>\n<p>Dim oXL As Excel.Application<br \/>\nDim oWB As Excel.Workbook<br \/>\nDim oSheet As Excel.Worksheet<\/p>\n<p>oXL = CreateObject(&#8220;Excel.Application&#8221;)<br \/>\noXL.Visible = False<\/p>\n<p>oWB = oXL.Workbooks.Add<br \/>\noSheet = oWB.ActiveSheet<br \/>\noSheet.Range(&#8220;A1&#8221;, &#8220;B1&#8221;).Merge()<br \/>\noSheet.Range(&#8220;C1&#8221;, &#8220;D1&#8221;).Merge()<br \/>\noSheet.Range(&#8220;E1&#8221;, &#8220;F1&#8221;).Merge()<br \/>\noSheet.Cells(1, 1) = &#8220;Hafta \u0130\u00e7i&#8221;<br \/>\noSheet.Cells(1, 3) = &#8220;Cumartesi&#8221;<br \/>\noSheet.Cells(1, 5) = &#8220;Pazar&#8221;<br \/>\nFor i As Integer = 1 To satirlar.Length &#8211; 1<br \/>\nDim ogeler() As String = Split(satirlar(i), &#8220;;&#8221;)<br \/>\nIf ogeler.Length &gt; 4 Then<br \/>\noSheet.Cells(i + 1, 1) = Trim(ogeler(0))<br \/>\noSheet.Cells(i + 1, 2) = Trim(ogeler(1))<br \/>\noSheet.Cells(i + 1, 3) = Trim(ogeler(2))<br \/>\noSheet.Cells(i + 1, 4) = Trim(ogeler(3))<br \/>\noSheet.Cells(i + 1, 5) = Trim(ogeler(4))<br \/>\noSheet.Cells(i + 1, 6) = Trim(ogeler(5))<br \/>\nEnd If<\/p>\n<p>Next<br \/>\nWith oSheet.Range(&#8220;A1&#8221;, &#8220;F253&#8221;)<br \/>\n.WrapText = True<br \/>\n.ColumnWidth = 12<br \/>\n.Font.Size = 9<br \/>\n.EntireColumn.AutoFit()<br \/>\n.HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter<br \/>\n.VerticalAlignment = Excel.XlVAlign.xlVAlignCenter<br \/>\nEnd With<br \/>\nIf System.IO.File.Exists(path &amp; &#8220;\\Metro\\Seferler.xls&#8221;) Then<br \/>\nDim cvp = MessageBox.Show(&#8220;Banliyo seferleri daha \u00f6nce kay\u0131t edilmi\u015f?&#8221; &amp; vbCrLf &amp; &#8220;Dosyaad\u0131:&#8221; + path &amp; &#8220;\\Banliyo\\Seferler.xls&#8221;, &#8220;Dosya Mevcut&#8221;, MessageBoxButtons.YesNo, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1)<br \/>\nIf cvp = vbYes Then<br \/>\nsilveuzerineyaz:<br \/>\n&#8216;Dosya mevcutsa eski dosyay\u0131 silelim<br \/>\nTry<br \/>\nSystem.IO.File.Delete(path &amp; &#8220;\\Metro\\Seferler.xls&#8221;)<br \/>\nCatch ex As IOException<br \/>\nMsgBox(&#8220;Dosya \u00fczerine yaz\u0131l\u0131rken hata olu\u015ftu&#8221; &amp; vbCrLf &amp; ex.Message)<br \/>\nlblsondurum.Text = &#8220;Metro seferleri yaz\u0131lamad\u0131&#8221;<br \/>\noWB.Close()<br \/>\noXL.Quit()<br \/>\nExit Sub<br \/>\nEnd Try<br \/>\nEnd If<br \/>\nEnd If<br \/>\noWB.SaveAs(path &amp; &#8220;\\Metro\\Seferler.xls&#8221;)<br \/>\noWB.Close()<br \/>\noXL.Quit()<\/p>\n<p>cikis:<br \/>\nlblsondurum.Text = &#8220;Metro seferleri al\u0131m\u0131 tamamland\u0131&#8230;&#8221;<br \/>\nEnd Sub<\/p>\n<p>Private Sub DirectoryCheck()<br \/>\nbas:<br \/>\nIf Not System.IO.Directory.Exists(txtpath.Text) Then<br \/>\nMsgBox(&#8220;Dosyalar\u0131n kay\u0131t edilece\u011fi klas\u00f6re eri\u015filemiyor&#8221;)<br \/>\nobjfolder.ShowDialog()<br \/>\ntxtpath.Text = objfolder.SelectedPath<br \/>\nGoTo bas<br \/>\nEnd If<br \/>\nEnd Sub<\/p>\n<p>End Class<\/p>\n<p>&nbsp;<\/p>\n<p>Program\u0131n tam proje dosyas\u0131n\u0131 indirmek i\u00e7in <a href=\"http:\/\/www.notsayfam.com\/?download=510\">t\u0131klay\u0131n\u0131z<\/a> (vs 2005)<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Vb.net kullanarak threading,get,post ve excel i\u015flemleri<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[11,13],"tags":[],"class_list":["post-388","post","type-post","status-publish","format-standard","hentry","category-programlama","category-vb-net"],"_links":{"self":[{"href":"https:\/\/www.notsayfam.com\/index.php?rest_route=\/wp\/v2\/posts\/388","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.notsayfam.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.notsayfam.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.notsayfam.com\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.notsayfam.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=388"}],"version-history":[{"count":15,"href":"https:\/\/www.notsayfam.com\/index.php?rest_route=\/wp\/v2\/posts\/388\/revisions"}],"predecessor-version":[{"id":572,"href":"https:\/\/www.notsayfam.com\/index.php?rest_route=\/wp\/v2\/posts\/388\/revisions\/572"}],"wp:attachment":[{"href":"https:\/\/www.notsayfam.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=388"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.notsayfam.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=388"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.notsayfam.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=388"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}