爬蟲P2P網站某產品交易資料統計分析

weixin_34236869發表於2018-07-30

前言

通過爬蟲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 統計交易總


7441048-128cba51e2cb5b7b.png
圖一定時任務
7441048-7bc53d94190a8e5d.png
圖二jenkins配置截圖

六、效果圖展示如下圖

圖三交易量收集輸入excel表格

圖四 根據excel表格資料統計出實時的交易量,兩分鐘統計一次,由圖可見最新總交易量為一千一百餘萬

7441048-87b3e60cb7498b26.png
圖三excel截圖


7441048-bcf0d43b08fa4201.png
圖四交易總額

七、github地址

https://github.com/tanghuan123/getdata

https://github.com/tanghuan123/getdata/blob/master/getjmdata.py

https://github.com/tanghuan123/getdata/blob/master/test1.py



相關文章