博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
fa下载器总结
阅读量:4315 次
发布时间:2019-06-06

本文共 1179 字,大约阅读时间需要 3 分钟。

前言

作为一名合格的furry,我不仅要吸娜娜奇,还要天天泡在fa吸大触们的furry作品,这其中难免遇到某个十分喜爱的作者,于是便想down空此作者的所有作品。 鉴于一张张的保存实在费时费力,写个爬虫来解决眼前的问题似乎再好不过了,所以便有了现在这个下载器。

功能介绍

根据作者名批量下载此作者的所有作品,包括画廊和手稿。可填写自定义高级参数,包括从第几页第几张开始,下载多少张。对于登陆后才能查看的内容,需要填写字符串cookie。下载的过程中会有详细的下载日志显示在文本框中。

目标操作平台

Windows

语言

c#

最低需求

.net4.0

代码流程框架

收集用户在界面中输入的信息> 初始化整体下载所需的变量> 开一个线程来执行下载函数> 判断当前需要下载哪个图集> 进入对应图集的下载函数并初始化相关变量> 下载并解析列表页面> 循环下载本页的所有图片> 循环下载所有页> 下载下一个图集> 执行结束函数。

遇到的坑

这么个小玩意本以为不会花太久就能做成心仪的样子,然而事实是从开始到现在断断续续已经做了半年,经历好几个“大版本”修改,才算满意。

这里整理下曾经遇到的坑

初始化的时机

并不是所有参数的初始化时机都是一样的,比如总下载量需要在整个下载的最开始初始化为零,这个时机在用户按下开始按钮之后,下载开始之前。

而另一个参数,单个图集的总下载量,这个参数是为了判定是否已经到达最大下载量。它就需要在另一个时机来归零,也就是放在图集下载函数的最开始,这样就可以在连续下载图集的时候,准确无误的初始化。

cookie模拟登录

这个应该是爬虫里比较基本的操作了,不过我自己按照网上的步骤写出来的代码,经常登陆失败,不知道是cookie的问题还是代码的问题。后来索性直接用了网上比较成熟的整套代码,只用来做cookie登录真是大材小用了,不过起码不用为轮子的事操心。

然后…还是登陆失败,那就很明了了,cookie有问题,所以我便仔细研究cookie字符串的格式,发现其中有几个键值对的格式十分的奇妙,两个分号间有两个等号,导致程序分析失败,,

以后还是不用360浏览器了。

去掉捣乱的几个cookie之后就没什么问题了

html页面分析

开始是用的string类里面的各种函数,查询字符串,移位,替换,代码又长又难以理解,后来去学了正则表达式,三行搞定所有分析,强大到无话可说。

结尾

写这个软件之前我都不知道啥是爬虫,直到后来有人跟我说这就是。。

很高兴通过这个软件既满足了私欲【x】,又学到了一堆新知识,尤其是强大的正则【导致我去学了perl,不过半途而废了】。

代码已经发布到github,地址是

转载于:https://www.cnblogs.com/recallfuture/p/fa-xia-zai-qi-zong-jie.html

你可能感兴趣的文章
原生JDK网络编程- NIO之Reactor模式
查看>>
table01
查看>>
简洁侧边wordpress博客模板
查看>>
linux及安全第四周总结——20135227黄晓妍
查看>>
搞出来,PHP mysql JQuery 二级联动
查看>>
AviSynth入门与应用指南
查看>>
ubuntu14.04安装GoldenDict
查看>>
重装系统时启动失败,引导信息有错误,修复磁盘的主引导记录MBR方法
查看>>
字符数组 字符指针
查看>>
Jedis的使用
查看>>
文献笔记(一)
查看>>
Linux(CentOS6.5)下修改Nginx初始化配置
查看>>
windows 重写调试输出
查看>>
反向代理服务器(Reverse Proxy)
查看>>
Android全屏
查看>>
HTML 标签。
查看>>
[bzoj2783][JLOI2012]树_树的遍历
查看>>
2018.10.20 bzoj1068: [SCOI2007]压缩(区间dp)
查看>>
Perl的IO操作(2):更多文件句柄模式
查看>>
由拖库攻击谈口令字段的加密策略
查看>>