程序员

爬虫P2P网站某产品交易数据统计分析

2018-07-30  本文已影响28人  唐小猴

前言

通过爬虫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 python配置 jimuDA3.py获取实时交易量 test1.py 统计交易总

图一定时任务 图二jenkins配置截图

六、效果图展示如下图

图三交易量收集输入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

上一篇下一篇

猜你喜欢

热点阅读