Visual Basic/Wikibot yazmanın temelleri
Özet: Bu bölümde webbrowser bileşeni kullanılarak wikibot yazılımı oluşturmaktan bahsedilmektedir.
Otomatik olarak oturum açma
değiştirAşağıdaki kod karşımıza oturum açma sayfasını çıkartır. Burada adrese girilen bot kullanıcı adı ve şifresi sayfadaki kutucuklara otomatik olarak yazılır:
WebBrowser1.Navigate _ "http://tr.wikipedia.org/w/index.php?title=%C3%96zel:Userlogin&wpName=Botunuzun_kullanıcı_adı&wpPassword=şifre&wpRemember=1&wpLoginattempt=Log+in" |
Yukarıdaki kodu formunuzun load olayına yazabilirsiniz. Ancak oturum aç düğmesini tıklamak için kullanılan aşağıdaki kodu sayfa yüklendikten sonra kullanabilirsiniz:
Private Sub Command1_Click()
|
veya
Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
|
Sayfaları düzenleme
değiştirVikilerde herhangi bir maddede değişiklik yapabilmek için ilk önce maddenin olduğu sayfaya girilir ve değiştir sekmesi tıklanarak sayfa kaynağına ulaşılır. Ancak bot programınız bundan farklı olarak doğrudan doğruya kaynağa girebilir ve bu daha kısa zamanda daha çok değişiklik yapmanıza olanak sağlar.
WebBrowser1.Navigate "http://tr.wiktionary.org/w/index.php?title=" & madde_adı & "&action=edit" |
Ancak yukarıdaki madde adı içerisinde Türkçe karakter bulunması halinde örneğin siz kağıt maddesine ulaşmaya çalışırken karşınıza kaðýt diye bir madde çıkabilir. İşte bu durumu bertaraf edebilmek için aşağıdaki kodu kullanabilirsiniz:
d$ = "madde_adı"
For x = 1 To Len(d$)
|
Yukarıda maddenin değiştir sekmesinin adresini açmak için WebBrowser bileşenine girdik. Sayfa üzerinde değişiklik yapmak bu sayfanın yüklenmesinden sonra mümkün olabilir. Bunun için WebBrowser bileşeninin DocumentComplete olayına aşağıdaki gibi bir kod yazabilirsiniz:
If Right$(WebBrowser1.LocationURL, 4) = "edit" Then 'Düzenle sekmesi açılmış ise
|
Sayfada maddenin kaynağını görmek ve değiştirmek için kullanılan metin kutusunun içeriğini değiştirmek için aşağıdaki kod kullanılabilir:
WebBrowser1.Document.Forms(0).Item("wpTextbox1").Value = İçerik |
Küçük değişiklik
değiştirEğer küçük değişiklikler yapıyorsanız aşağıdaki kodu kullanarak Küçük değişiklikler kutucuğunu işaretletebilirsiniz:
WebBrowser1.Document.All("wpMinoredit").Clicks |
Sayfayı kaydetme
değiştirAşağıdaki kod ile sayfa kaydedilir:
WebBrowser1.Document.All("wpSave").Click |
Not: Bot oluşturma ile ilgili daha ayrıntılı bilgi için İngilizce vikipedideki Creating a bot maddesine bakabilirsiniz.