吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 926|回复: 7
收起左侧

[学习记录] python解决使用requests解决网站动态加载的问题

  [复制链接]
DoveNest 发表于 2024-1-30 10:48

访问某些网站时,会出现动态加载的问题

<div class="link xb">
<a href="/chapter/299832/76.html" rel="next">上一章</a> <a href="/xiaoshuo/299832/" rel="index">章节列表</a>
<a href="/chapter/299832/78.html" rel="next">下一章</a>
正在进行转码阅读,不进行内容存储和复制
</div>

网页已经正常显示,通过F12却看不到具体内容

1.通用的解决办法为webdriver模拟获取信息。

此处不讲解,网上有大量的讲解

2.通过分析网页的js,获取详细信息

通过网络分析发现某个链接中返回了大量的文档

{"status":"success","info":{"content":"
<p>
    \u6240\u6709\u4eba\u60ca\u5446\u4e86\uff01
    <\/p>
        <p>
            \u4e3a\u4ec0\u4e48\u5927\u665a\u4e0a\u4f1a\u6709\u4e00\u53ea\u4ed3\u9f20\u9a91\u7740\u6469\u6258\u8f66\u5728\u8352\u91ce\u4e0a\u778e\u901b\u3002
            <\/p>
                        .....

使用转链方法发现内容为返回的实际内容
···json
{
"status": "success",
"info": {
"content": "<p> 所有人惊呆了!</p> <p> 为什么大晚上会有一只仓鼠骑着摩托车在荒野上瞎逛。</p> <p> 而且还用如此滑稽、戏剧性的方式,斩杀了一头精英高阶的接肢魔?</p> <p> 简直就......
}

继续分析该接口,则可以正常获取到内容:
整体代码:
```python
def unicode_type():
    url = 'https://www.zzqq178.com/chapter/299832/77.html'
    book_id = url.split('/')[-2]
    book_page = url.split('/')[-1].split('.')[0]
    resp = requests.get(url)
    return re.search(r'.*hash = "(.*?)"', resp.text).group(1), book_id, book_page

def unicode_get_message():
    url = 'https://www.zzqq178.com/home/index/ajaxchapter'
    hash, book_id, book_page = unicode_type()
    data = {
        'id': book_id,
        'eKey': hash,
        'cid': book_page,
        'basecid': book_page
    }
    resp = requests.post(url, data=data)
    result=resp.json()["info"]["content"]
    print(result)

if __name__ == '__main__':
    unicode_get_message()

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

jingy0502uan 发表于 2024-1-30 10:56
支持楼主,虽然我是小白,虽然我一点不懂,但是我占了沙发了。顶楼主一下!嘎嘎嘎嘎
舞墨者 发表于 2024-1-30 11:02
CC7 发表于 2024-1-30 11:26
用requests作者的requests-html可能会更加方便,不用去提取提供数据的链接。
magicianly 发表于 2024-1-30 11:30
好像没有这么复杂。列表项直接获取所有章节链接,判断章节链接里面是否有下一页,有就继续请求下一页获取内容,加在一起就行。
三滑稽甲苯 发表于 2024-1-30 12:36
这个确实是很常见的方法
PhoenixOe 发表于 2024-1-30 14:52
支持楼主,虽然我是小白,虽然我一点不懂,但是我占了沙发了。顶楼主一下!嘎嘎嘎嘎
PhiFever 发表于 2024-3-19 21:45
CC7 发表于 2024-1-30 11:26
用requests作者的requests-html可能会更加方便,不用去提取提供数据的链接。

感谢,用selenium搞还是占用太高了,不知道用这个效果怎么样,改天试试。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2024-11-24 16:57

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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