使用python來刷csdn下載積分(一)

來源:互聯網
上載者:User

標籤:

csdn的有些資源還是很不錯的,但是有的時候需要的積分比價多。

可以免積分下載的有一個著名的工具,鬼哥csdn下載,網址:http://csdn.juming.com/

鬼哥的原理好像是做新手任務,然後獲得積分去下載。到後面的時候好像還是需要積分才能下載。

還好csdn有一個規則,就是每評價一個資源,可以獲得一個下載的積分。但是,資源多的時候就懶得去評價了,於是順手寫了個小指令碼。

本次使用的是一個叫做splinter的庫(http://splinter.readthedocs.org/en/latest/),splinter是對selenium的封裝,selenium就是大名鼎鼎的自動化測試庫(http://www.seleniumhq.org/)。

 

原理:

  利用瀏覽器的驅動,開啟一個瀏覽器,類比人的操作。splinter帶的預設的driver是Firefox的,chrome driver:https://code.google.com/p/selenium/wiki/ChromeDriver.

 

 

 1 #coding=utf-8 2 import os,time 3 import random 4 from splinter import Browser 5 print "10 hour after" 6 time.sleep(60*60*10) 7 #隨機評論 8 commentsList = [u"不錯的資源!!!!!!!",u"謝謝樓主分享!",u"還不錯,謝謝",u"還沒看,先下載",u"感謝分享,nice",u"很好的東西,非常不錯",u"用這個很方便!!",u"這個很不錯!"] 9 # print random.choice(commentsList)10 browser = Browser(‘chrome‘)11 # Visit URL12 url = "http://passport.csdn.net/account/login"13 browser.visit(url)14 # browser.fill(‘f‘, ‘splinter - python acceptance testing for web applications‘)15 # Find and click the ‘search‘ button16 btnEmail = browser.find_by_id(‘username‘)17 btnPasswd = browser.find_by_id(‘password‘)18 19 btnEmail.fill(‘‘)#使用者名稱20 btnPasswd.fill(‘‘)#密碼21 #print dir(browser)22 # Interact with elements23 btnSubmit = browser.find_by_value("登 錄")24 btnSubmit.click()#登入25 # button.click()26 time.sleep(6)27 browser.visit("http://download.csdn.net/my/downloads")28 29 while browser.is_element_not_present_by_css(".pageliststy"):30     time.sleep(2)31 32 urls = [ url[‘href‘] for url in  browser.find_link_by_text("立即評價,通過可返分")]33 34 #總頁面個數35 pages = int(browser.find_by_css(".pageliststy")[-1][‘href‘].split(‘/‘)[-1])36 for index in range(341,pages+1):37     browser.visit("http://download.csdn.net/my/downloads/%d"%index)38     time.sleep(5)39     urls = urls + [ url[‘href‘] for url in  browser.find_link_by_text("立即評價,通過可返分")]40     for url in urls:41         print url42         try:43             browser.visit(url)44             while browser.is_element_not_present_by_value("5"):45                 time.sleep(0.1)46             startControl = browser.find_by_css(".star-rating")[-1]# -1 for 5 stars  -2 for 4 stars  1 for one star  also may  random47             textControl = browser.find_by_id("cc_body")[0]#評論框48             btnComment = browser.find_by_value("發表評論")[0]#提交框49             #print dir(startControl)50             print "loaded"51             startControl.mouse_over()#滑鼠到評分欄52             startControl.click()    #滑鼠點擊53             textControl.fill(random.choice(commentsList))#填寫評論54             btnComment.click()#評論提交55             alert = browser.get_alert()#處理 js的alert確認56             alert.accept()#確定57             time.sleep(60)#評論間隔要有一分鐘58         except:59             print "error"60     time.sleep(4)61     urls = []62 print "Hello Kitty"

 

splinter可以執行js代碼,通過css或者xss路徑找到需要的元素,然後進行類比的操作。

 

使用python來刷csdn下載積分(一)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.