爬虫:爱奇艺Login&查看观看记录

2020-11-17  本文已影响0人  真夜猫
目标网址:https://www.iqiyi.com/
我们来抓登录包,我们发现passwd这个参数被网站进行了加密,在上一次的文章中,我们已经对它进行过处理,成功的破解的他的js加密代码,我们直接拿过来使用就行。

代码部分:

需要导入的库:

import requests
import execjs
from requests import sessions
import re

Js读取:读取上篇文章抠出来的js加密代码

def get_js():#js读取
    f = open("爱奇艺.js", 'r', encoding='utf-8') # 打开JS文件,,这个文件是我上篇文章中抠出来的js破解代码
    line = f.readline()
    htmlstr = ''
    while line:
        htmlstr = htmlstr+line
        line = f.readline()
    return htmlstr

js运行

def get_js_data(data):#js运行
    jsstr = get_js()
    ctx = execjs.compile(jsstr) #加载JS文件
    return (ctx.call('rsaFun',data))#调用js方法  第一个参数是JS的方法名,后面的data和key是js方法的参数

登录并查看观看记录函数

def login():
    Session=sessions.session()
    url="https://passport.iqiyi.com/apis/reglogin/login.action"

    headers={

        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36",
    }

    data={
        "email":"爱奇艺账号",
        "fromSDK":1,
        "passwd":get_js_data("爱奇艺登录密码"),
        "agenttype":1,
        "__NEW":1,
        "checkExist":1,
        "lang":"",
        "ptid":"01010021010000000000",
        "nr":"2",
        "verifyPhone":"1",
        "area_code":"86",
        "dfp": "a04a644c84f3d343cfb521a46a898c328e133b337d8f0502e5ba411d3ede8688df"



    }
    print(data)
    resp=Session.post(url=url,headers=headers,data=data)
    # print(resp.text)

    resp=Session.get("https://l-rcd.iqiyi.com/apis/qiyirc/getallrc?ckuid=e4d0a4f91a85ea0f76607effb48cb0c8&only_long=1&vp=0&pageNum=1&pageSize=20")
    # print(resp.text)
    videoNames=re.findall('videoName\"\:'+"(.*?)"+'\,',resp.text)
    print("你看过:")
    for videoName in videoNames:
        print(videoName)
我们直接调用login()函数,可以看到运行结果:

完成了,点个赞吧!!!

上一篇下一篇

猜你喜欢

热点阅读