Reddit.com web sitesine giriş yapmak, sayfanın belirli bir alanına gitmek ve bir yorum göndermek istiyorum. Bu kodda neyin yanlış olduğunu görmüyorum, ancak Reddit sitesine hiçbir değişiklik yansıtılmıyor.Form verisi göndermek ve kimlik bilgilerini doğrulamak için Python ve Mechanize kullanarak
import mechanize
import cookielib
def main():
#Browser
br = mechanize.Browser()
# Cookie Jar
cj = cookielib.LWPCookieJar()
br.set_cookiejar(cj)
# Browser options
br.set_handle_equiv(True)
br.set_handle_gzip(True)
br.set_handle_redirect(True)
br.set_handle_referer(True)
br.set_handle_robots(False)
# Follows refresh 0 but not hangs on refresh > 0
br.set_handle_refresh(mechanize._http.HTTPRefreshProcessor(), max_time=1)
#Opens the site to be navigated
r= br.open('http://www.reddit.com')
html = r.read()
# Select the second (index one) form
br.select_form(nr=1)
# User credentials
br.form['user'] = 'DUMMYUSERNAME'
br.form['passwd'] = 'DUMMYPASSWORD'
# Login
br.submit()
#Open up comment page
r= br.open('http://www.reddit.com/r/PoopSandwiches/comments/f47f8/testing/')
html = r.read()
#Text box is the 8th form on the page (which, I believe, is the text area)
br.select_form(nr=7)
#Change 'text' value to a testing string
br.form['text']= "this is an automated test"
#Submit the information
br.submit()
Bunun nesi var?
En az 10 saniye uyku eklemeye çalışın. Ayrıca, "Kaynağı Görüntüle" yi değil, Chrome'daki "Elementi Denetle" yi veya FF'de benzerlerini) tarayıcınızdaki formu incelemeniz ve indirilen HTML ile karşılaştırmanız gerekir. JS tarafından dinamik olarak doldurulmuş alanlara sahip olabilir. – TryPyPy
Bu arada, Reddit'in bir API'si var, bu daha iyi çalışmaz mı? – TryPyPy
Hmm, uyumaya çalışmama izin verin. Yorumlar göndermek için dokümantasyon olmadığı için API'yi nasıl kullanacağımı bilmiyorum. – Parseltongue