• 大小: 5KB
    文件类型: .zip
    金币: 2
    下载: 1 次
    发布日期: 2021-06-17
  • 语言: Python
  • 标签:

资源简介

Python爬虫,京东自动打码登录,指定商品自动加购物车,自动下单,指定时间抢购商品

资源截图

代码片段和文件信息

import requests
import random
import json
import os
import time
import re
from lxml import etree
from rk import *


url = ‘https://passport.jd.com/new/login.aspx‘

headers = {
        ‘User-Agent‘:‘Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_2) AppleWebKit/537.36 (KHTML like Gecko) Chrome/55.0.2883.95 Safari/537.36‘
        ‘ContentType‘: ‘text/html; charset=utf-8‘
        ‘Accept-Encoding‘:‘gzip deflate sdch‘
        ‘Accept-Language‘:‘zh-CNzh;q=0.8‘
        ‘Connection‘ : ‘keep-alive‘
}

s = requests.Session()
s.headers = headers


# 请求登录页面
req1 = s.get(url=url headers=headers)

sel = etree.HTML(req1.content)
uuid = sel.xpath(‘//input[@id=“uuid“]/@value‘)[0]

eid = sel.xpath(‘//input[@id=“eid“]/@value‘)[0]
sa_token = sel.xpath(‘//input[@id=“sa_token“]/@value‘)[0]
pubKey = sel.xpath(‘//input[@id=“pubKey“]/@value‘)[0]
t = sel.xpath(‘//input[@id=“token“]/@value‘)[0]


r = random.random()
login_url = ‘https://passport.jd.com/uc/loginService‘

class JD(object):

    def __init__(selfusernamepasswordrk_usernamerk_pwd):
        self.username = username
        self.password = password
        self.rkclient = RClient(rk_usernamerk_pwd)
        self.trackid = ‘‘
        self.pid = ‘‘

    # 账号登录函数
    def login(self):

        params = {

        ‘uuid‘:uuid
        ‘eid‘:eid
        # ‘fp‘:‘a2fd52211772d8fea0515bedca560b0b‘
        ‘_t‘:t
        ‘loginType‘:‘c‘
        ‘loginname‘:self.username
        ‘nloginpwd‘:self.password
        ‘chkRememberMe‘:‘‘
        ‘authcode‘:‘‘
        ‘pubKey‘:pubKey
        ‘sa_token‘:sa_token
        # ‘seqSid‘:‘5574250748814772000‘

        }



        headers = {
        ‘Referer‘:‘https://passport.jd.com/uc/login?ltype=logout‘
        ‘User-Agent‘:‘Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_2) AppleWebKit/537.36 (KHTML like Gecko) Chrome/55.0.2883.95 Safari/537.36‘
        ‘X-Requested-With‘:‘xmlHttpRequest‘
        }

        # 验证码图片
        imgcode = ‘http:‘ + sel.xpath(‘//img[@id=“JD_Verification1“]/@src2‘)[0]
        img = requests.get(imgcode)
        # 把这个路径替换成自己电脑jd.py文件夹的路径,/Users/zhangkai/Desktop/JD
        with open(‘/Users/zhangkai/Desktop/JD/a.jpg‘ ‘wb‘) as f:
            f.write(img.content)
        im = open(‘a.jpg‘‘rb‘).read()
        print(‘开始识别验证码...‘)

        # print(imgcode)   # 手动验证码连接

        # 自动打码
        imgcode1 = self.rkclient.rk_create(im 3040)[‘Result‘]
        print(imgcode1)

  
        if imgcode != ‘‘:

            # params[‘authcode‘] = input(‘请输入验证码:‘)  # 手动输验证码

            params[‘authcode‘] = str(imgcode1)
            req2 = s.post(login_url data=params headers=headers)


            patt = ‘
            self.trackid = re.compile(patt).findall(str(s.cookies))

            js = json.loads(req2.text[1:-1])


            if js.get(‘success‘):
                print(‘登录成功‘)
            else:
                print(‘登录失败‘)
        else:
            req2 = s.post(login_url data=params headers=headers)

      

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2017-05-05 11:47  JD_AutoSubmit-master\
     文件        1253  2017-05-05 11:47  JD_AutoSubmit-master\README.md
     文件        8376  2017-05-05 11:47  JD_AutoSubmit-master\jd.py
     文件        1588  2017-05-05 11:47  JD_AutoSubmit-master\rk.py

评论

共有 条评论