前言
通过爬虫p2p网站某产品交易数据,分析实时交易量及增长趋势,判断产品活力。
(因不想体现为某p2p网站,所以里面网站地址使用xxxxxx进行代替,另代码可参看最下方的github地址。)
目录
一、P2P某产品交易量分析
二、工具及相关python包
三、获取网站的标号及交易量并存入本地excel
四、根据excel表格中的数据进行分析统计实时交易量
五、jenkins配置
六、效果图展示如下图
七、gitlab源码地址
一、实现思路
1、提取投标项目号
2、根据标号进入分页进行资金收集
3、将交易量输入excel表格
4、根据excel统计出最新的交易总和
二、工具及相关python包
python3 Pycharm urllib bs4 re xlrd xlutils.copy jenkins
三、获取网站的标号及交易量并存入本地excel
#导入所需要的相关包
from html.parser import HTMLParser
from urllib import request
from bs4 import BeautifulSoup
import reimport time
import xlrd,xlwt,os,sys,xlutils
from xlrd import open_workbook
from xlutils.copy import copy
#此函数为获取网站的标号及剩余量
def getdata(data1,data2,data3):
with request.urlopen(data1) as f:
data = f.read().decode('utf-8').replace(u'\xa9', u'') #listp接收标号的url进行拼接
listp = []
res_tr = re.findall(r'/Venus/\d+',data)
for i in res_tr:
listp.append(i)
listj = []
listm = []
#listj接收剩余量 listm接收标号
for j in listp:
listm.append(j.split('/')[2]) #获取/标号
url = "https://xxxxxxxx.com" + j #拼接标号url
with request.urlopen(url) as f:
data = f.read().decode('utf-8').replace(u'\xa9', u'') #获取标号页面
with open(data3, 'w') as f: #标号页面存入data3
for i in data: f.write(i)
soup = BeautifulSoup(open(data3)) #使用BeautifulSoup格式化页面html
jr = (soup.find_all(class_="canbid-amount")) #根据class标签找到剩余量
if jr: listj.append(str(jr[0]).split('')[1].split('')[0]) #切割剩余量获取数据
else: listj.append("收益中") #无剩余量显示
dictjm = dict(zip(listm, listj)) #剩余量 标号存入字典dictjm
return dictjm #返回
def sendexcl(url,getjm):
rexcel = open_workbook(url) #打开excel
rows = rexcel.sheets()[0].nrows #统计行
cols = rexcel.sheets()[0].ncols #统计列
excel = copy(rexcel) #复制表
table = excel.get_sheet(0) #第一张表
j = 0
for i, m in getjm.items(): #字典读取数据excel写入标号
table.write(rows, j, i) #第一张表行写入数据j用于定位行列 i为插入数据
j += 1 #列后移一位
rows += 1 #行后移一位
excel.save(url) #保存数据
j = 0
for i, m in getjm.items(): #excel写入剩余量
table.write(rows, j, m)
j += 1
rows += 1
excel.save(url)
getjm = getdata("https://xxxxxxxxxxxxxx","jmgetlog","jmget1log") #获取剩余量标号字典sendexcl("F:\JIMU\JMQST.xlsx",getjm) #excel存入字典
四、根据excel表格中的数据进行分析统计实时交易量
import xlrd
data = xlrd.open_workbook("F:\JIMU\JMQST.xlsx")
table = data.sheets()[0] # 第几个sheet
nrows = table.nrows # 行数
ncols = table.ncols # 列数
colnames = table.row_values(1) # 某一行数据
print(colnames)
colnames2 = table.row_values(nrows-1)
print(colnames2)
dictn = dict(zip(colnames,colnames2))
del dictn["收益中"]
print(dictn)
listn = []
for i,j in dictn.items():
i = i.replace(',','')
j = j.replace(',','')
m = float(i) - float(j)
listn.append(m)
print(listn)
m = 0
for i in listn:
m += i
print(m)
print("轻松投减少量为:%f"%(m))
with open('F:\JIMU\pylog', 'a+') as f:
f.write('\n')
f.write(str(m))
print("sucessful ok")
图一定时任务 图二jenkins配置截图五、jenkins配置
图一为jenkins定时任务配置两分钟进行一次
图二为jenkins python配置 jimuDA3.py获取实时交易量 test1.py 统计交易总
图三excel截图 图四交易总额六、效果图展示如下图
图三交易量收集输入excel表格
图四 根据excel表格数据统计出实时的交易量,两分钟统计一次,由图可见最新总交易量为一千一百余万
七、github地址
https://github.com/tanghuan123/getdata
https://github.com/tanghuan123/getdata/blob/master/getjmdata.py
https://github.com/tanghuan123/getdata/blob/master/test1.py
网友评论