1、获取支付宝账单信息并存入数据库

from selenium import webdriver

from DbHandle import DbHandle

import time

# 登录 url

Login_Url = 'https://auth.alipay.com/login/index.htm?goto=https%3A%2F%2Fwww.alipay.com%2F'

# 账单 url

Bill_Url = 'https://consumeprod.alipay.com/record/standard.htm'

class Alipay_Bill_Info(object):

def __init__(self,user, passwd):

self.user = user

self.passwd = passwd

def wait_input(self, ele, str):

for i in str:

ele.send_keys(i)

time.sleep(0.5)

def get_data(self):

# 初始化浏览器对象

sel = webdriver.Chrome()

sel.maximize_window()

sel.get(Login_Url)

sel.implicitly_wait(3)

time.sleep(1)

# 找到用户名字输入框

sel.find_element_by_xpath('//*[@data-status="show_login"]').click()

uname = sel.find_element_by_id('J-input-user')

uname.clear()

print('正在输入账号.....')

self.wait_input(uname, self.user)

time.sleep(1)

# 找到密码输入框

upass = sel.find_element_by_id('password_rsainput')

upass.clear()

print('正在输入密码....')

self.wait_input(upass, self.passwd)

# 找到登录按钮

time.sleep(1)

butten = sel.find_element_by_id('J-login-btn')

butten.click()

# sel.save_screenshot('2.png')

print(sel.current_url)

# 跳转到账单页面

print('正在跳转页面....')

sel.get(Bill_Url)

sel.implicitly_wait(3)

time.sleep(2)

try:

sel.find_element_by_xpath('//*[@id="J-item-1"]')

except:

print("登录出错!")

sel.close()

return

db = DbHandle()

sql = "SELECT set_date FROM ali_pay_bill ORDER BY bid DESC LIMIT 1"

print(sql)

dateline = db.select_one(sql)

result = dateline['set_date']

result = result.replace('.', '')

result = result.replace('-', '')

result = result.replace(':', '')

dateline = int(result[2:])

print(dateline)

for num in range(10):

num = num + 1

al_day_xpath = '//*[@id="J-item-' + str(num) + '"]/td[1]/p[1]' #日期

al_time_xpath = '//*[@id="J-item-' + str(num) + '"]/td[1]/p[2]' #时刻

al_way_xpath = '//*[@id="J-item-' + str(num) + '"]/td[3]/p[1]' #方式

al_payee_xpath = '//*[@id="J-item-' + str(num) + '"]/td[5]/p[1]' #收款人

al_snum_xpath = '//*[@id="J-item-' + str(num) + '"]/td[4]/p[1]' #流水号

al_figure_xpath = '//*[@id="J-item-' + str(num) + '"]/td[6]/span' #金额

al_status_xpath = '//*[@id="J-item-' + str(num) + '"]/td[8]/p[1]' #交易状态

al_day = sel.find_element_by_xpath(al_day_xpath).text

al_time = sel.find_element_by_xpath(al_time_xpath).text

al_way = sel.find_element_by_xpath(al_way_xpath).text

al_payee = sel.find_element_by_xpath(al_payee_xpath).text

al_snum = sel.find_element_by_xpath(al_snum_xpath).text

al_figure = sel.find_element_by_xpath(al_figure_xpath).text

al_status = sel.find_element_by_xpath(al_status_xpath).text

single_data = self.handle_text(al_day,al_time,al_way,al_payee,al_snum,al_figure,al_status)

print(single_data)

if(single_data['set_time']<=dateline):

break

sql = "INSERT INTO ali_pay_bill (set_date, \

other, amount, sign,statu,way,code) \

VALUES ('%s', '%s', %s, %s, %s, '%s', '%s' )" % \

(single_data['set_date'], single_data['other'], single_data['amount'], \

single_data['sign'], single_data['statu'], single_data['way'], single_data['code'])

print(sql)

db.update(sql)

sel.close()

def handle_text(self,set_date,set_time,way,payee,snum,figure,status):

statu = 0

sign = 2

amount = 0

if '成功' in status:

statu = 1

if '+' in figure:

sign = 1

amount = float(figure[2:])

elif '-' in figure:

sign = 0

amount = float(figure[2:])

al_day = set_date+"-"+set_time

al_time = set_time.replace(':', '')

al_time = int((set_date+al_time).replace('.','')[2:])

return {'set_date':al_day,'set_time':al_time,'other':payee,'amount':amount,'sign':sign,'statu':statu,'way':way,'code':snum}

2、主类

from GetAlipayBill import Alipay_Bill_Info

import time

from datetime import datetime

# 登录用户名和密码

USERNMAE = ''

PASSWD = ''

while 1==1:

print("---------------请求时间" + datetime.now().strftime('%Y-%m-%d %H:%M:%S') + "---------------------")

get = Alipay_Bill_Info(USERNMAE,PASSWD)

get.get_data()

time.sleep(60*10)

具体参考:https://www.v2ex.com/t/383179

python爬取支付宝基金数据_python爬取支付宝账单相关推荐

  1. python爬取网页json数据_python爬取json数据库

    手把手教你使用Python抓取QQ音乐数据(第一弹) [一.项目目标] 获取 QQ 音乐指定歌手单曲排行指定页数的歌曲的歌名.专辑名.播放链接. 由浅入深,层层递进,非常适合刚入门的同学练手. [二. ...

  2. python爬饿了么数据_python爬取饿了么

    在学数据可视化,缺少点数据进行实操,就想着从饿了么上面爬点外卖店信息. 主要是获取数据,所以代码比较简陋,直接上代码:import requests import json import csv de ...

  3. python爬知识星球付费数据_python抓取知识星球精选帖,制作为pdf文件

    版权声明:本文为xing_star原创文章,转载请注明出处! 背景: 这两年知识付费越来越热,我也加入了不少知识星球,总觉得信息有些过载了.一天不看,就有500+的内容显示未读,弄的自己格外的焦虑.感 ...

  4. python爬取论文全文数据_Python爬取微信公众号历史文章进行数据分析

    思路: 1. 安装代理AnProxy,在手机端安装CA证书,启动代理,设置手机代理: 2. 获取目标微信公众号的__biz; 3. 进入微信公众号的历史页面: 4. 使用Monkeyrunner控制滑 ...

  5. python爬取大众点评数据_Python 爬取大众点评 50 页数据,最好吃的成都火锅竟是它!...

    作者 | 胡萝卜酱 责编 | 伍杏玲 成都到处都是火锅店,有名的店,稍微去晚一点,排队都要排好久,没听说的店,又怕味道不好. 那么如何选择火锅店呢?最简单的肯定是在美团.大众点评上找一找啊.所以,本文 ...

  6. python抓取股票竞价数据_Python 抓取新浪财经股票数据

    新浪并未提供 API,但我们可以通过抓包来获取实时或历史行情数据. 实时行情 比如我们可以通过浏览器访问: http://hq.sinajs.cn/?format=text&list=sh60 ...

  7. python爬取天气数据_Python爬取历史天气数据

    Python爬取历史天气数据 作者:梅昊铭 1. 导读 之前Mo给大家分享过杭州历年天气情况的数据集,相信有不少小伙伴好奇这些数据是怎么获取.今天Mo就来教大家如何使用Python来进行历史天气数据的 ...

  8. 如何爬一个网站的数据-免费爬取网站的任意数据软件

    如何爬一个网站的数据?爬取网络数据大家称之为网络爬行 收集页面以创建索引或集合.另一方面,网络抓取下载页面以提取一组特定的数据用于分析目的,例如,产品详细信息.定价信息.SEO 数据或任何其他数据集. ...

  9. 用Python爬取历年基金数据

    接口分析 爬数据需要先思考从哪里爬?经过一番搜索和考虑,我发现天天基金网的数据既比较全,又十分容易爬取,所以就从它入手了. 首先,随便点开一支基金,我们可以看到域名就是该基金的代码,十分方便,其次下面 ...

最新文章

  1. CSS透明度设置支持IE,Chrome,Firefox浏览器
  2. 堆排序时间复杂度_图解堆结构、堆排序及堆的应用
  3. 这款手机开卖在即却预约不足千人 网友:原来它还没凉?
  4. 《Python游戏趣味编程》 第6章 见缝插针
  5. 关于spark structed stream 流中的触发trigger间隔的理解
  6. php+打开图片二进制文件,php接收二进制文件转换成图片
  7. 20145239 《信息安全系统设计基础》第13周学习总结
  8. sharepoint 2007 无法自动跳转到default.aspx
  9. Collection与Arrays
  10. mysql关键字 distinct去重
  11. maven 启动项目默认tomcat6更换为tomcat7或其他版本
  12. <EDEM 基础案例02>Rock Box
  13. Php 生成随机字符串函数集成
  14. macos复制粘贴快捷键 快速_苹果MAC系统复制粘贴快捷键是什么?
  15. Ubuntu 如何更新软件源(阿里源、华为源、清华源等)
  16. Facebook 开源微光效果 Shimmer
  17. mysql 数据横向拼接_Mysql 合并结果接横向拼接字段
  18. 微信小程序如何实现(点击发送弹幕)
  19. 假设检验,p-value,glm
  20. Linux安装Erlang

热门文章

  1. 微信小游戏之飞机大战解析
  2. 51单片机用lcd1602显示两行字符串
  3. ARM固件开发(LPC1768启动初始化代码)
  4. stlink故障修复
  5. LPC1768 PWM1输出PWM示例
  6. Excel -- 排序与排名
  7. 51单片机实现万年历
  8. 威斯康星大学麦迪逊计算机本科,威斯康星大学麦迪逊分校计算机专业为什么火?申请要求及学费详解!...
  9. 表、视图、存储过程、函数、触发器、事件
  10. 哲理故事与管理之道(11)-让自己成为领袖和榜样