吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 4059|回复: 12
收起左侧

[Python 转载] 爬取“在线之家”

[复制链接]
d8349565 发表于 2021-5-14 14:28
本帖最后由 d8349565 于 2021-5-14 14:30 编辑

闲来无事,把之前一直爬不到视频直链的在线之家又捣鼓了一次,成功获取。(代码暂未优化,分享着玩)
主要是从主页开始爬,有兴趣可以自己定义。

[Python] 纯文本查看 复制代码
import requests
import re
import time
import base64
from lxml import etree

# 从主页获取各影视的url
def next_page(start_url):
    headers = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36"}
    response = requests.post(start_url, headers=headers)
    content = etree.HTML(response.text)
    link = content.xpath('/html/body/div[1]/div//ul/li/div/a/@href')
    # name = content.xpath('/html/body/div[1]/div//ul/li/div/a/@title')
    return link

# 获取需要post的url(用来post获取视频地址)
def get_post_link(next_page):
    headers = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36"}
    response = requests.post(next_page, headers=headers)
    result = re.findall("url\":\"(.*?)\",", response.text)
    link = result[2].replace('\\','')
    return link

def get_num(url,referer):
    headers = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36",
        'referer': referer}
    # print(url)
    response = requests.post(url, headers=headers)
    response.encoding = response.apparent_encoding

    result = re.findall("time=(.*?)&", response.text)[0]
    # print(result[0:6])
    return result[0:6]

# 带上referer post获取 加密的url信息
def get_vd_url (url,referer):
    headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36",
               'referer': referer}
    # print(url)
    response = requests.post(url, headers=headers)
    response.encoding = response.apparent_encoding
    result = re.findall("var url =(.*?),",response.text)[0]
    return result

# 加密的url信息逆序(十六进制)
def Reverse_order(result):
    b = list(result)
    b.reverse()
    re_result = ''.join(b)
    return  re_result

# 获取其他集数的url
def url_next(url):
    headers = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36"}
    response = requests.post(url, headers=headers)
    content = etree.HTML(response.text)
    link = content.xpath('//*[@id="play-box"]/div[1]/div[2]/div[1]/ul/li/a/@href')
    link = [f'https://www.zxzj.me/{i}' for i in link]
    return link
    # print(link)


if __name__ == '__main__':
    link_list = next_page('https://www.zxzj.me/')
    link_list = [f'https://www.zxzj.me/{i}' for i in link_list]
    # print(link_list)
    for url in link_list:
        referer = url_next(url)
        # print(referer)
        for url_1 in referer:
            # print(url_1)
            referer_1 = get_post_link(url_1)
            # print(referer_1)
            result = get_vd_url(referer_1,url_1)
            num = get_num(referer_1,url_1)
            # print(result)
            result = Reverse_order(result).replace("'","").strip()
            # 解密十六进制
            a = base64.b16decode(result)
            # print(a)
            a = str(a, encoding="utf-8")
            # num 是与日期相关的数字,估计经常需要更换
            a = a.replace(num,'',1).strip()
            # print(f"b'{a}")
            print(a)

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| d8349565 发表于 2021-5-16 22:31
出尘雨 发表于 2021-5-15 18:36
大哥,获取的直链基本过段时间就变了,是怎么处理的呀?

变化也是有规则的呀,我看在线之家好像是有个关于时间规则的数字,比如“162092”,会随机出现在直链的某些文字中间。(162092在post的时候可以找到)我就设置了num等于这一串数字,时间更新也不影响。
 楼主| d8349565 发表于 2021-5-17 13:13
ChipunNG 发表于 2021-5-17 10:28
楼主是怎么判断是十六进制逆序的呢?凭经验吗

https://www.52pojie.cn/forum.php ... 79&pid=34962861

论坛里面的人给的方案,我自己估计也是一时半会找不出来
pojie666 发表于 2021-5-14 14:55
今天下载了黑马的python,想开始学习,看到这样的我希望我也有这一天

免费评分

参与人数 1吾爱币 +1 收起 理由
d8349565 + 1 我很赞同!

查看全部评分

fanvalen 发表于 2021-5-14 18:33
你这headers一样放全局就好,不用复制那么多
chenruiqian 发表于 2021-5-15 08:25
pojie666 发表于 2021-5-14 14:55
今天下载了黑马的python,想开始学习,看到这样的我希望我也有这一天

可以分享一下黑马python的视频吗? 百度云 天翼云都可以,谢谢了
出尘雨 发表于 2021-5-15 18:36
大哥,获取的直链基本过段时间就变了,是怎么处理的呀?
ChipunNG 发表于 2021-5-17 10:28
楼主是怎么判断是十六进制逆序的呢?凭经验吗
依旧沉沉 发表于 2021-5-17 10:52
ChipunNG 发表于 2021-5-17 10:28
楼主是怎么判断是十六进制逆序的呢?凭经验吗

同问同问~
fangqiezi 发表于 2021-5-17 17:56
大佬, 可以分享下爬取网站下的所有链接吗
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 14:23

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表