python爬取支付宝基金数据_python爬取支付宝账单
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爬取支付宝账单相关推荐
- python爬取网页json数据_python爬取json数据库
手把手教你使用Python抓取QQ音乐数据(第一弹) [一.项目目标] 获取 QQ 音乐指定歌手单曲排行指定页数的歌曲的歌名.专辑名.播放链接. 由浅入深,层层递进,非常适合刚入门的同学练手. [二. ...
- python爬饿了么数据_python爬取饿了么
在学数据可视化,缺少点数据进行实操,就想着从饿了么上面爬点外卖店信息. 主要是获取数据,所以代码比较简陋,直接上代码:import requests import json import csv de ...
- python爬知识星球付费数据_python抓取知识星球精选帖,制作为pdf文件
版权声明:本文为xing_star原创文章,转载请注明出处! 背景: 这两年知识付费越来越热,我也加入了不少知识星球,总觉得信息有些过载了.一天不看,就有500+的内容显示未读,弄的自己格外的焦虑.感 ...
- python爬取论文全文数据_Python爬取微信公众号历史文章进行数据分析
思路: 1. 安装代理AnProxy,在手机端安装CA证书,启动代理,设置手机代理: 2. 获取目标微信公众号的__biz; 3. 进入微信公众号的历史页面: 4. 使用Monkeyrunner控制滑 ...
- python爬取大众点评数据_Python 爬取大众点评 50 页数据,最好吃的成都火锅竟是它!...
作者 | 胡萝卜酱 责编 | 伍杏玲 成都到处都是火锅店,有名的店,稍微去晚一点,排队都要排好久,没听说的店,又怕味道不好. 那么如何选择火锅店呢?最简单的肯定是在美团.大众点评上找一找啊.所以,本文 ...
- python抓取股票竞价数据_Python 抓取新浪财经股票数据
新浪并未提供 API,但我们可以通过抓包来获取实时或历史行情数据. 实时行情 比如我们可以通过浏览器访问: http://hq.sinajs.cn/?format=text&list=sh60 ...
- python爬取天气数据_Python爬取历史天气数据
Python爬取历史天气数据 作者:梅昊铭 1. 导读 之前Mo给大家分享过杭州历年天气情况的数据集,相信有不少小伙伴好奇这些数据是怎么获取.今天Mo就来教大家如何使用Python来进行历史天气数据的 ...
- 如何爬一个网站的数据-免费爬取网站的任意数据软件
如何爬一个网站的数据?爬取网络数据大家称之为网络爬行 收集页面以创建索引或集合.另一方面,网络抓取下载页面以提取一组特定的数据用于分析目的,例如,产品详细信息.定价信息.SEO 数据或任何其他数据集. ...
- 用Python爬取历年基金数据
接口分析 爬数据需要先思考从哪里爬?经过一番搜索和考虑,我发现天天基金网的数据既比较全,又十分容易爬取,所以就从它入手了. 首先,随便点开一支基金,我们可以看到域名就是该基金的代码,十分方便,其次下面 ...
最新文章
- CSS透明度设置支持IE,Chrome,Firefox浏览器
- 堆排序时间复杂度_图解堆结构、堆排序及堆的应用
- 这款手机开卖在即却预约不足千人 网友:原来它还没凉?
- 《Python游戏趣味编程》 第6章 见缝插针
- 关于spark structed stream 流中的触发trigger间隔的理解
- php+打开图片二进制文件,php接收二进制文件转换成图片
- 20145239 《信息安全系统设计基础》第13周学习总结
- sharepoint 2007 无法自动跳转到default.aspx
- Collection与Arrays
- mysql关键字 distinct去重
- maven 启动项目默认tomcat6更换为tomcat7或其他版本
- <EDEM 基础案例02>Rock Box
- Php 生成随机字符串函数集成
- macos复制粘贴快捷键 快速_苹果MAC系统复制粘贴快捷键是什么?
- Ubuntu 如何更新软件源(阿里源、华为源、清华源等)
- Facebook 开源微光效果 Shimmer
- mysql 数据横向拼接_Mysql 合并结果接横向拼接字段
- 微信小程序如何实现(点击发送弹幕)
- 假设检验,p-value,glm
- Linux安装Erlang