简单的迅雷VIP账号获取器(Python)
By 苏剑林 | 2016-01-20 | 31825位读者 |在Windows工作的时候,经常会用迅雷下载东西,如果速度慢或者没资源,尤其是一些比较冷门的视频,迅雷的VIP会员服务总能够帮上大忙。后来无意间发现了有个“迅雷VIP账号获取器”的软件,可以获取一些临时的VIP账号供使用,这可是个好东西,因为开通迅雷会员虽然不贵,但是我又不经常下载,所以老感觉有点浪费,而有了这个之后,我随时下点东西都可以免费用了。
最近转移到了Mac上,而Mac也有迅雷,但那个账号获取器是exe的,不能在Mac运行。本以为获取器的构造会很复杂,谁知道,经过抓包研究,发现那个账号获取器的原理极其简单,说白了,就是一个简单的爬虫,以下这两个网站提供账号,它就到相应的抓取账号而已:
http://yunbo.xinjipin.com/
http://www.fenxs.com
据此,我也用Python简单写了一个,主要是方便我在Mac使用。读者如果有需要,也可以下载使用,代码兼容2.x和3.x的版本。主要的库是requests和re,pandas和sys的使用只不过是为了更加人性化。本来想用Tkinter写一个简单的GUI的,但是想想看,还是没必要了~~
# -*- coding:utf-8 -*-
'''
2016.01.21更新:修改了正则表达式的写法,使得更加通用;增加了一个账号来源。
'''
import requests as rq
import re
def get1():
source = 'http://yunbo.xinjipin.com/articlelist/?33.html'
web = rq.get(source).text
url = re.findall('<li><p><a href=\"(.*?)\" title=', web)[0]
web = rq.get('http://yunbo.xinjipin.com%s'%url)
web.encoding = 'gb2312'
web = web.text
return re.findall(u'迅雷.*?([a-zA-z0-9\:]+?)[密码]+?([a-zA-z0-9]+?)</div>', web)
def get2():
source = 'http://www.fenxs.com'
web = rq.get(source).text
url = re.findall(u'<h2><a href=\"(.*?)\" title=.*?迅雷会员账号分享.*?</a></h2>', web)[0]
web = rq.get(url).text
return re.findall(u'迅雷.*?([a-zA-z0-9\:]+?)[密码]+?([a-zA-z0-9]+?)<br />', web)
def get3():
source = 'http://xlfans.com'
web = rq.get(source).text
url = re.findall(u'<h2><a href=\"(.*?)\" title=.*?迅雷会员账号分享.*?</a></h2>', web)[0]
web = rq.get(url).text
return re.findall(u'迅雷.*?([a-zA-z0-9\:]+?)[密码]+?([a-zA-z0-9]+?)<br />', web)
if __name__ == '__main__':
import pandas as pd #方便输出显示
import sys #判断系统版本
print u'\n============简单的迅雷账号获取器============\n By http://kexue.fm\n'
while True:
if sys.version_info[0] < 3:
s = raw_input(u'请选择数据源(输入s1或s2或s3,输入其他则退出): ')
else:
s = input(u'请选择数据源(输入s1或s2或s3,输入其他则退出): ')
if s == 's1':
print pd.DataFrame(get1(), columns=[u'账号', u'密码'])
elif s == 's2':
print pd.DataFrame(get2(), columns=[u'账号', u'密码'])
elif s == 's3':
print pd.DataFrame(get3(), columns=[u'账号', u'密码'])
else:
break
转载到请包括本文地址:https://kexue.fm/archives/3594
更详细的转载事宜请参考:《科学空间FAQ》
如果您还有什么疑惑或建议,欢迎在下方评论区继续讨论。
如果您觉得本文还不错,欢迎分享/打赏本文。打赏并非要从中获得收益,而是希望知道科学空间获得了多少读者的真心关注。当然,如果你无视它,也不会影响你的阅读。再次表示欢迎和感谢!
如果您需要引用本文,请参考:
苏剑林. (Jan. 20, 2016). 《简单的迅雷VIP账号获取器(Python) 》[Blog post]. Retrieved from https://kexue.fm/archives/3594
@online{kexuefm-3594,
title={简单的迅雷VIP账号获取器(Python)},
author={苏剑林},
year={2016},
month={Jan},
url={\url{https://kexue.fm/archives/3594}},
}
April 14th, 2022
苏神,这个好像不能用了。我试着运行总是在输入S1 S2 S3后报错,是不是现在爬数据的数据端禁止了。
这么久了,早就失效了...学习代码就好,就别想着直接用了。