最近九州海上牧云记,在优酷上热播,画面唯美,演员也都养眼,可是这剧情的发展真的是太慢了,剧集注水严重,一集50分钟的电视剧得有10分钟在回忆,剪辑也有问题,有些地方情节跳跃性很大,连不上,每周也只有星期一到星期六每天更新两集,周日,想笙殿下、穆如寒、铁沁荷叶了,怎么办?这种事情,怎么可能抵挡我们追剧的热情?下面,我介绍一下,如何利用pyquery,爬取下载牧云记小说全集的方法,提供所有源代码,让大家在周日,也继续在九州的奇幻中漫游。
原料如下:
1:pyquery,具体的下载以及详细用法,详见博客http://blog.csdn.net/qq_29186489/article/details/78651064,本文不在赘述。
2:目标网站:落霞小说网:http://www.luoxia.com/muyun/#myj-xs
目标网站分析
查看落霞小说网,整部小说被分成了两部分,一部分是目录页面:
另一部分是目录对应的内容详情页:
基本思路,在章节目录页获取所有的章节的链接,存入列表,循环该列表,逐章节获取内容,并进行格式编码处理后,拼接内容,保存至本地。
代码具体实现
1:引入相关类库
# -*- coding: utf-8 -*-
import requests
from requests.exceptions import RequestException
from pyquery import PyQuery as pq
2:获取章节列表
def get_chapter_urlList(url):
try:
response=requests.get(url)
doc=pq(response.text)
results_list=doc("#content-list .book-list")
results=pq(results_list[0])("ul li a")
chapter_list=[]
for result in results:
chapter_list.append([result.text,pq(result).attr.href])
return chapter_list
except RequestException:
return None
3:获取章节列表对应的文章内容,格式处理拼接成字符串,并保存至本地TXT文档
def get_chapter_content(li):
story=""
for item in li:
try:
response=requests.get(item[1])
story=story+item[0]+"\n"
response.encoding="utf-8"
doc=pq(response.text)
results=doc("#pagewrap > article > p")
for result in results:
story=story+result.text+"\n"
except RequestException:
return None
finally:
with open("story.txt","w",encoding="utf-8") as f:
f.write(story)
f.close()
4:程序入口
if __name__ == '__main__':
chapter_list=get_chapter_urlList("http://www.luoxia.com/muyun/#myj-xs")
get_chapter_content(chapter_list)
运行结果
程序还有很多可以改进的地方,比如利用多线程提高爬取效率,增加进度条等等,各位看官自完善吧。周末,让我们和魅灵一起起舞,和铁沁和页一起征战天下,得夸父斧,擒驰狼骥,爽啊。
完整代码下载地址:https://gitee.com/TianYaBenXiong/HuoQuJiuZhouHaiShangMuYunJiXiaoShuoQuanJi
转载请注明本文地址: 九州海上牧云记,电视剧节奏太慢?教你如何看全集