版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/qq_17054989/article/details/80153488
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 os
def 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 a
def 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 m
def 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 e
return 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 + 1
wb.save(filename='vip.xlsx') #保存工作表
if __name__ == '__main__':
print('下载中 loading...')
xlsx()
print('下载成功')
os.startfile('vip.xlsx') #打开excel