|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 戴宇轩 于 2015-4-1 16:32 编辑
看到大家发的爬迅雷账号的爬虫,我也来贡献出自己写的代码
因为是初学Tkinter,用法有点蹉
效果图:
- import urllib.request
- import tkinter
- import re
- import os
- class Thunder:
- __slots__ = ('master', 'pattern', 'page', 'url', 'result', 'button', 'ext') # 限制类属性
- def __init__(self):
- self.pattern = re.compile(r'<a href="(http://www\.fenxs\.com/\d+\.html)" title="分享社.+?</a>') # 找到最新的网页
- self.page = re.compile('(?<!<p>)分享社.+?([\w\d:]+?)密码(.+?)<', re.ASCII) # 找到页面源代码中不以<p>开头的账号
- self.ext = re.compile('<p>分享社.+?([\w\d:]+?)密码(.+?)<', re.ASCII) # 找到页面源代码中以<p>开头的账号
- self.url = urllib.request.Request('http://www.fenxs.com/') # 迅雷分享社的网址
- def run(self):
- self.master = tkinter.Tk(className='迅雷会员账号获取器') # 设置窗口标题
- self.button = tkinter.Button(self.master, text='点击获取最新账号', height=3, font='华文黑体, 24', command=self.get) # 按下按钮时, 调用self.get()函数
- self.button.pack() # 封装窗口
- tkinter.mainloop() # 进入主循环
- def show(self):
- res = open('result.txt', 'w') # 打开一个文本文件
- for i in self.result:
- res.write('用户名: %s\t密码: %s\n' % (i[0], i[1])) # 按格式写入用户名和密码
- res.close() # 写入之后完关闭文件
- os.system('result.txt') # 用命令行打开它
- os.remove('result.txt') # 查看之后删除它
- def get(self):
- data = urllib.request.urlopen(self.pattern.findall(urllib.request.urlopen(self.url).read().decode())[0]).read().decode() # 获取网页源代码
- self.result = self.ext.findall(data)[:1] + self.page.findall(data) # 找到网页中的用户名和密码
- self.show() # 调用self.show()函数
- process = Thunder() # 实例化一个Thunder对象
- process.run() # 调用run()方法, 运行
复制代码 另外, 请大家不要随意更改密码! |
评分
-
参与人数 5 | 荣誉 +13 |
鱼币 +15 |
贡献 +13 |
收起
理由
|
守夜人
| -1 |
+ 1 |
+ 1 |
感谢楼主无私奉献! |
xuweicfy
| + 3 |
+ 3 |
+ 3 |
支持楼主!这些看来都是钻石会员的子账号,. |
独跑的犀牛
| + 1 |
+ 1 |
+ 1 |
感谢楼主无私奉献! |
拈花小仙
| + 5 |
+ 5 |
+ 3 |
感谢楼主无私奉献! |
~风介~
| + 5 |
+ 5 |
+ 5 |
支持楼主! |
查看全部评分
|