1.抓取思路
打开迅雷粉列表页,找到最新账号
为了保证时效,选择第一个列表页进行抓取
利用正则表达式将账号密码提取
账号:([A-Za-z0-9]{6,}) 密码:([A-Za-z0-9]{6,})
将筛选出的数据利用openpyxl导入到excel中
本次教程结束,上代码
#!/usr/bin/env python
#-*-coding:utf-8-*-
__author__ = 'Qi zewen QQ群:497719008'import requests
import re
from openpyxl import Workbook
import osdef url(): #获取vip账号列表页urlget_html = requests.get('http://xlfans.com/archives/category/fenxiang') #获取网站地址urlget_html.encoding = 'utf-8' #转换编码return urlget_html.text #返回网站def relist(): #正则找到vip账号当日网页a = re.findall('<h2><a href="http://xlfans.com/archives/(\d{5})".*?</a></h2>',url())return adef urlvip(): #用正则找到连接地址打开账号密码页面m = []for i in relist():urlvip_html = 'http://xlfans.com/archives/{}'.format(i)urlvip_html_get = requests.get(urlvip_html)urlvip_html_get.encoding = 'utf-8'm.append(urlvip_html_get.text)return mdef revip(): #正则找到vip账号密码b = re.findall('账号:([A-Za-z0-9]{6,}) 密码:([A-Za-z0-9]{6,})',urlvip()[0])#注释掉部分为爬取第一页全部页面,为了保证时效性这里只抓取第一个页面# e = []# for c in urlvip():# b = re.findall('账号:([A-Za-z0-9]{6,}) 密码:([A-Za-z0-9]{6,})',c)# for d in set(b):# e.append(d)# return ereturn b#注释部分为导入txt文本文件# print(d[0],d[1])# with open('./vip.txt','a') as f : #将抓取到的内容放入记事本中# f.write(d[0]+'\t'+d[1]+'\n')def xlsx(): #使用openpyxl工具将账号密码导入到xlsx中wb = Workbook() #打开工作区ws = wb.active #创建活动工作表ws.title = '迅雷VIP账号密码' #定义工作表名称ws['A1'] = '账号' #指定行A1内容为'账号'ws['B1'] = '密码' #指定行B1内容为'密码'm = 2 #指定m用于行数累加for r in revip():ws.cell(row=m, column=1).value = r[0] #将账号信息插入行A中ws.cell(row=m, column=2).value = r[1]m = m + 1wb.save(filename='vip.xlsx') #保存工作表if __name__ == '__main__':print('下载中 loading...')xlsx()print('下载成功')os.startfile('vip.xlsx') #打开excel