Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 301|回复: 0

[默认分类] 九州海上牧云记,电视剧节奏太慢?教你如何看全集

[复制链接]
  • TA的每日心情
    开心
    2021-12-13 21:45
  • 签到天数: 15 天

    [LV.4]偶尔看看III

    发表于 2018-6-17 10:22:37 | 显示全部楼层 |阅读模式

    最近九州海上牧云记,在优酷上热播,画面唯美,演员也都养眼,可是这剧情的发展真的是太慢了,剧集注水严重,一集50分钟的电视剧得有10分钟在回忆,剪辑也有问题,有些地方情节跳跃性很大,连不上,每周也只有星期一到星期六每天更新两集,周日,想笙殿下、穆如寒、铁沁荷叶了,怎么办?这种事情,怎么可能抵挡我们追剧的热情?下面,我介绍一下,如何利用pyquery,爬取下载牧云记小说全集的方法,提供所有源代码,让大家在周日,也继续在九州的奇幻中漫游。
    原料如下:
    1:pyquery,具体的下载以及详细用法,详见博客http://blog.csdn.net/qq_29186489/article/details/78651064,本文不在赘述。
    2:目标网站:落霞小说网:http://www.luoxia.com/muyun/#myj-xs
    目标网站分析
    查看落霞小说网,整部小说被分成了两部分,一部分是目录页面:

    另一部分是目录对应的内容详情页:

    基本思路,在章节目录页获取所有的章节的链接,存入列表,循环该列表,逐章节获取内容,并进行格式编码处理后,拼接内容,保存至本地。
    代码具体实现
    1:引入相关类库
    1. [code]# -*- coding: utf-8 -*-
    2. import requests
    3. from requests.exceptions import RequestException
    4. from pyquery import PyQuery as pq
    复制代码
    [/code]
    2:获取章节列表
    1. [code]def get_chapter_urlList(url):
    2.     try:
    3.         response=requests.get(url)
    4.         doc=pq(response.text)
    5.         results_list=doc("#content-list .book-list")
    6.         results=pq(results_list[0])("ul li a")
    7.         chapter_list=[]
    8.         for result in results:
    9.             chapter_list.append([result.text,pq(result).attr.href])
    10.         return chapter_list
    11.     except RequestException:
    12.         return None
    复制代码
    [/code]
    3:获取章节列表对应的文章内容,格式处理拼接成字符串,并保存至本地TXT文档
    1. [code]def get_chapter_content(li):
    2.     story=""
    3.     for item in li:
    4.         try:
    5.             response=requests.get(item[1])
    6.             story=story+item[0]+"\n"
    7.             response.encoding="utf-8"
    8.             doc=pq(response.text)
    9.             results=doc("#pagewrap > article > p")
    10.             for result in results:
    11.                 story=story+result.text+"\n"
    12.         except RequestException:
    13.             return None
    14.         finally:
    15.             with open("story.txt","w",encoding="utf-8") as f:
    16.                 f.write(story)
    17.                 f.close()
    复制代码
    [/code]
    4:程序入口
    1. [code]if __name__ == "__main__":
    2.     chapter_list=get_chapter_urlList("http://www.luoxia.com/muyun/#myj-xs")
    3.     get_chapter_content(chapter_list)
    复制代码
    [/code]
    运行结果

    程序还有很多可以改进的地方,比如利用多线程提高爬取效率,增加进度条等等,各位看官自完善吧。周末,让我们和魅灵一起起舞,和铁沁和页一起征战天下,得夸父斧,擒驰狼骥,爽啊。
    完整代码下载地址:https://gitee.com/TianYaBenXiong/HuoQuJiuZhouHaiShangMuYunJiXiaoShuoQuanJi

    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

    GMT+8, 2025-2-24 08:42 , Processed in 0.297503 second(s), 35 queries .

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc.

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