资源简介

python支付宝爬虫获取个人账单,抓取PC版本支付宝账单信息

资源截图

代码片段和文件信息

‘‘‘
尝试登录支付宝
并获取账单记录

通过 seleium 登录支付宝,
获取 cookies
‘‘‘

import requests
from selenium import webdriver
from bs4 import BeautifulSoup
import time
from selenium.webdriver.firefox.firefox_binary import FirefoxBinary

# 登录 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‘


# 登录用户名和密码
USERNMAE = ‘1‘
PASSWD = ‘1‘

# 自定义 headers
HEADERS = {
    ‘User-Agent‘: ‘Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML like Gecko) Chrome/60.0.3112.90 Safari/537.36‘
    ‘Referer‘: ‘https://consumeprod.alipay.com/record/advanced.htm‘
    ‘Host‘: ‘consumeprod.alipay.com‘
    ‘Accept‘: ‘text/htmlapplication/xhtml+xmlapplication/xml;q=0.9image/webpimage/apng*/*;q=0.8‘
    ‘Connection‘: ‘keep-alive‘
}


class Alipay_Bill_Info(object):
    ‘‘‘支付宝账单信息‘‘‘

    def __init__(self headers user passwd):
        ‘‘‘
        类的初始化

        headers:请求头
        cookies: 持久化访问
        info_list: 存储账单信息的列表
        ‘‘‘
        self.headers = headers
        # 初始化用户名和密码
        self.user = user
        self.passwd = passwd
        # 利用 requests 库构造持久化请求
        self.session = requests.Session()
        # 将请求头添加到缓存之中
        self.session.headers = self.headers
        # 初始化存储列表
        self.info_list = []

    def wait_input(self ele str):
        ‘‘‘减慢账号密码的输入速度‘‘‘
        for i in str:
            ele.send_keys(i)
            time.sleep(0.5)

    def get_cookies(self):
        ‘‘‘获取 cookies‘‘‘

        # 初始化浏览器对象
        binary = FirefoxBinary(r‘H:\Program Files (x86)\Tencent\Firefox\firefox.exe‘)
        sel = webdriver.Firefox(firefox_binary=binary)
        sel.get(Login_Url)
        print(‘正在等待用户扫码登录......‘)
#         # 找到用户名字输入框
#         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)
#         # 截图查看
#         # sel.save_screenshot(‘1.png‘)
#         # 找到登录按钮
#         butten = sel.find_element_by_id(‘J-login-btn‘)
#         time.sleep(1)
#         butten.click()

        # sel.save_screensho

评论

共有 条评论