1.JavaScript 加密什么的最讨厌了 :-(
1).eval 一个不依赖外部变量的函数立即调用很天真,看我 nodejs 来干掉你!
2).HTTP 请求的验证首先尝试 Referer,「小甜饼」没有想像中的那么重要。
3).curl 和各命令行工具处理起文本很顺手呢
4).但是 Python 也没多几行呢
2.Requests 效率比 lxml 自己那个好太多
3.progressbar 太先进了,我还是自个儿写吧……
4.argparse 写 Python 命令行程序必备啊~
5.string.Template也很好用哦
6.以下是主代码啦,除了标准库以及 lxml 和 requests,没有的模块都在无所不能的 winterpy 仓库里。其实主代码也在的。
#!/usr/bin/env python3
# vim:fileencoding=utf-8
import sys
from functools import partial
from string import Template
import argparse
import base64
from urllib.parse import unquote
from lxml.html import fromstring
import requests
from htmlutils import extractText
from termutils import foreach
session = requests.Session()
def main(index, filename='$name-$author.txt', start=0):
r = session.get(index)
r.encoding = 'gb18030'
doc = fromstring(r.text, base_url=index)
doc.make_links_absolute()
name = doc.xpath('//div[@class="info"]/p[1]/a/text()')[0]
author = doc.xpath('//div[@class="info"]/p[1]/span/text()')[0].split()[-1]
nametmpl = Template(filename)
fname = nametmpl.substitute(name=name, author=author)
with open(fname, 'w') as f:
sys.stderr.write('下载到文件 %s。\n' % fname)
links = doc.xpath('//div[@class="chapterlist"]/ul/li/a')
try:
foreach(links, partial(gather_content, f.write), start=start)
except KeyboardInterrupt:
sys.stderr.write('\n')
sys.exit(130)
sys.stderr.write('\n')
return True
def gather_content(write, i, l):
# curl -XPOST -F bookid=2747 -F chapterid=2098547 'http://www.feisuzw.com/skin/hongxiu/include/fe1sushow.php'
# --referer http://www.feisuzw.com/Html/2747/2098547.html
# tail +4
# base64 -d
# sed 's/&#&/u/g'
# ascii2uni -qaF
# ascii2uni -qaJ
# <p> paragraphs
url = l.get('href')
_, _, _, _, bookid, chapterid = url.split('/')
chapterid = chapterid.split('.', 1)[0]
r = session.post('http://www.feisuzw.com/skin/hongxiu/include/fe1sushow.php', data={
'bookid': bookid, 'chapterid': chapterid,
}, headers={'Referer': url})
text = r.content[3:] # strip BOM
text = base64.decodebytes(text).replace(b'&#&', br'\u')
text = text.decode('unicode_escape')
text = unquote(text)
text = text.replace('<p>', '').replace('</p>', '\n\n')
title = l.text
write(title)
write('\n\n')
write(text)
write('\n')
return title
if __name__ == '__main__':
parser = argparse.ArgumentParser(description='下载飞速中文网小说')
parser.add_argument('url',
help='小说首页链接')
parser.add_argument('name', default='$name-$author.txt', nargs='?',
help='保存文件名模板(支持 $name 和 $author')
parser.add_argument('-s', '--start', default=1, type=int, metavar='N',
help='下载起始页位置(以 1 开始)')
args = parser.parse_args()
main(args.url, args.name, args.start-1)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
暂无“Python实现的飞速中文网小说下载脚本”评论...
更新动态
2025年11月03日
2025年11月03日
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]