使用python来刷csdn下载积分(二)

使用python来刷csdn下载积分(一)中我们实现了csdn下载的自动评价,但是这样只是评价自己下载过的资源,还不能实现刷分的目的。本次,我们将学习批量下载csdn的免费资源。

csdn自己是带了资源的搜素工具的,网址: http://download.csdn.net/advanced_search, 里面是可以搜索指定资源积分的下载资源的。但是用起来非常不好用,总是搜索不到想要的资源。

于是我们就弃之不用,使用百度来搜索,搜索的关键字是 "资源积分:0分"  联通下载 pdf  site:download.csdn.net"

这样能得到一大堆的免费资源

下一步就是解析出每个资源对应的url 去访问并下载。

代码如下:

 1 #coding=utf-8
 2 import os,time
 3 from splinter import Browser
 4 from timeout import timeout
 5
 6
 7 def login(username="[email protected]",passwd="dengdengdeng"):
 8     """登录csdn"""
 9     global browser
10     url = "http://passport.csdn.net/account/login"
11     browser.visit(url)
12     # browser.fill(‘f‘, ‘splinter - python acceptance testing for web applications‘)
13     # Find and click the ‘search‘ button
14     btnEmail = browser.find_by_id(‘username‘)
15     btnPasswd = browser.find_by_id(‘password‘)
16     btnRemember = browser.find_by_name(‘rememberMe‘)
17
18
19     btnEmail.fill(username)#用户名
20     btnPasswd.fill(passwd)#密码
21     btnRemember.check()#
22     #print dir(browser)
23     # Interact with elements
24     btnSubmit = browser.find_by_value("登 录")
25     btnSubmit.click()#登录
26     time.sleep(7)
27     # button.click()
28
29 @timeout(30)
30 def download():
31     global browser
32
33     print "try to clcik"
34     btnDownload = browser.find_by_css(r‘#wrap > div.bd.clearfix > div.article > div.information.mb-bg.clearfix > div.info > a.btn.btn-primary.btn-lg.WCDMA.btndownload‘)[0]
35     btnDownload.click()
36     time.sleep(4)
37     btnDownload = browser.find_by_css(r‘#download_btn2‘)[0]
38     btnDownload.click()
39     # btnDownload = browser.find_by_xpath(r‘//*[@id="download_btn2"]‘)[0]
40     # btnDownload.click()
41     time.sleep(3)
42     # btnConfirm = browser.find_by_xpath(r‘//*[@id="user_score_btn"]‘)[0]
43     # btnConfirm.click()
44     # print "done"
45
46         # try:
47     btnConfirm = browser.find_by_xpath(r‘//*[@id="user_score_btn"]‘)[0]
48     btnConfirm.click()
49             # time.sleep(3)
50             # print "done"
51         # except:
52             # print "error"
53
54 def searchFree():
55     """用百度搜索免费的资源,返回资源的列表"""
56     global browser
57     url = "http://www.baidu.com"
58     browser.visit(url)
59     btnKeyWord = browser.find_by_id(‘kw‘)[0]
60     btnKeyWord.fill(u‘"资源积分:0分"  联通下载 pdf  site:download.csdn.net‘)#密码
61     btnSubmit = browser.find_by_id("su")[0]
62     btnSubmit.click()#提交搜素
63
64     base = 0
65     time.sleep(4)
66     for page in range(1,90):
67         # timerThread = closeWindow(browser)
68         # timerThread.start()
69         print base," base"
70         print page," page"
71         for x in range(base+1,base+11):
72             print x
73             time.sleep(4)
74             urlTmp = browser.find_by_xpath(‘//*[@id="%d"]/h3/a‘%x)[0]
75             urlTmp.click()
76             browser.windows.current = browser.windows[1]
77             browser.driver.set_window_size(800,1000)
78             time.sleep(6)
79             download()
80             print "time out error"
81             browser.windows.current = browser.windows[0]
82             browser.windows.current.close_others() #关闭窗口
83         base = base + 10
84         nextPage = browser.find_link_by_text(u"下一页>")[0]
85         nextPage.click()
86
87
88 if __name__ == "__main__":
89     browser = Browser(‘chrome‘)#
90     login()
91     searchFree()
92     print "Hello Kitty"

代码未经过整理,有些乱。

中间遇到的主要问题就是元素的加载。

有的时候由于网络状况的不同,元素的加载时间也不一样。所以中间会有很多sleep。而且csdn还使用了谷歌的网站统计功能,有的时候网页加载时间就更加的长。网页中的js脚本有的时候不能执行,因为js脚本的执行顺序是比网页的加载顺序靠后的。

还有完善的空间,最后看下刷分的成果。

时间: 2024-11-01 20:44:41

使用python来刷csdn下载积分(二)的相关文章

使用python来刷csdn下载积分(一)

csdn的有些资源还是很不错的,但是有的时候需要的积分比价多. 可以免积分下载的有一个著名的工具,鬼哥csdn下载,网址:http://csdn.juming.com/ 鬼哥的原理好像是做新手任务,然后获得积分去下载.到后面的时候好像还是需要积分才能下载. 还好csdn有一个规则,就是每评价一个资源,可以获得一个下载的积分.但是,资源多的时候就懒得去评价了,于是顺手写了个小脚本. 本次使用的是一个叫做splinter的库(http://splinter.readthedocs.org/en/la

[python学习] 模仿浏览器下载CSDN源文并实现PDF格式备份

最近突然想给自己的博客备份下,看了两个软件:一个是CSDN博客导出软件,好像现在不能使用了:一个是豆约翰博客备份专家,感觉都太慢,而且不灵活,想单独下一篇文章就比较费时.而且我的毕业论文是基于Python自然语言相关的,所以想结合前面的文章用Python实现简单的功能: 1.通过网络下载本体的博客,包括图片: 2.在通过Python把HTML转换成PDF格式: 3.如果可能,后面可能会写文章对代码采用特定的方式进行处理. 言归正传,直接上代码通过两个方面进行讲解. 一. 设置消息头下载CSDN文

CSDN免积分下载器下载 2018 最新免费版

CSDN免积分下载器是一款CSDN网站资源下载工具,CSDN下载器可以免登陆免积分下载需要积分的资源,不用再去为积分问题而苦恼.由于CSDN不知道什么时候会继续改版或者变动,所以不保证这个CSDN免积分下载器的长期有效哦. CSDN上有很多用户上传的好资料,不过好些都需要下载积分,很多网友总是搜到了CSDN的资源刚好是自己想要的东西结果由于积分不够只能干望着,其实我们可以通过CSDN免积分下载器来免费下载我们想要的资源,这是一款不用积分,不用注册用户,不要验证码的CSDN网站资源下载工具,可轻松

我用积分给大家提供CSDN免积分下载,0积分下载!

网上有一个软件,叫什么鬼哥Csdn免积分下载器,我试了一下,并不能用,很坑的. 鉴于现在CSDN的所有资源都需要积分才能下载,以前的资源都不免费了,没有0积分的资源了.所以为了解决部分人的下载问题,我给大家提供一下下载服务! 我个人的积分给大家看看! 如果以后积分用完了,我会开VIP的继续为大家服务! CSDN 现在也穷了,一个VIP居然要好几百,但是没关系.我出钱! 使用这个服务呢有一个要求,那就是需要关注我的微信公众号,业余草.如下的二维码,大家扫描一下即可.关注后,回复“CSDN”加我微信

csdn免积分下载器最可用版

csdn免积分下载器最新版,亲测有效.一键即可下载! 只需输入csdn文件的下载地址,如 http://download.csdn.net/detail/md521/5172505 输入验证码.点击"解析地址".出现"获取成功"提示, 然后在下载地址处.单击鼠标右键,出现"复制成功"提示,如上图所示. 将复制的文件下载地址在浏览器中打开即可下载! csdn免积分下载器下载地址:http://aibing.cc/pojie/2607.shtml

使用python爬取csdn博客访问量

最近学习了python和爬虫,想写一个程序练练手,所以我就想到了大家都比较关心的自己的博客访问量,使用python来获取自己博客的访问量,这也是后边我将要进行的项目的一部分,后边我会对博客的访问量进行分析,以折线图和饼图等可视化的方式展示自己博客被访问的情况,使自己能更加清楚自己的哪些博客更受关注,博客专家请勿喷,因为我不是专家,我听他们说专家本身就有这个功能. 一.网址分析 进入自己的博客页面,网址为:http://blog.csdn.net/xingjiarong 网址还是非常清晰的就是cs

狂刷Android范例之二:剪贴板范例

狂刷Android范例之二:剪贴板范例ClipboardSample 说明 狂刷Android范例系列文章开张了.每篇学习一个Android范例,将一个范例单独生成一个可运行的app,并对重点源代码进行简要分析.然后提供打包好的源代码下载. 功能 功能很简单,使用Android提供的剪贴板,复制不同类型的数据到剪贴板. 代码包在此,无需下载分: http://download.csdn.net/detail/logicteamleader/8786187 来源 ClipboardSample例子

Python小爬虫-自动下载三亿文库文档

新手学python,写了一个抓取网页后自动下载文档的脚本,和大家分享. 首先我们打开三亿文库下载栏目的网址,比如专业资料(IT/计算机/互联网)http://3y.uu456.com/bl-197?od=1&pn=0,可以观察到,链接中pn=后面的数字就是对应的页码,所以一会我们会用iurl = 'http://3y.uu456.com/bl-197?od=1&pn=',后面加上页码来抓取网页. 一般网页会用1,2,3...不过机智的三亿文库用0,25,50...来表示,所以我们在拼接ur

数学之路-python计算实战(8)-机器视觉-图像二值化

二值化 hreshold Applies a fixed-level threshold to each array element. C++: double threshold(InputArray src, OutputArray dst, double thresh, doublemaxval, int type) Python: cv2.threshold(src, thresh, maxval, type[, dst]) → retval, dst C: double cvThresh