桃隐的域名变换频繁,请通过地址发布器获取。
此程序仅用于交流学习,严禁用于非法用途,否则后果自负。
(前排吐槽写这个网站的程序员GG,代码写的好乱,好几套模板不说,还到处飘bug,感觉就是修修补补,最后网站可以正常运行,只是对于爬图片的人来说头都大了。更何况这是我第一个爬虫程序。)
requests,bs4,lxml
使用down_one.py或down_some.py.py爬取图片,爬取完后会将该网页的桃隐贴子编号存入SAVED.txt,失败图片信息存入ERROR.txt,若页面内存在资源下载链接,则信息存入Download Link.txt(即使有爬取失败的图片,但只要按流程走到最后一步,也会将贴子编号存入SAVED.txt)下次再次使用该程序,若贴子编号在SAVED.txt中,则跳过爬取该网页。使用down_error.py可以下载ERROR.txt中的图片。如果程序中途意外中止运行,不必担心,信息存入SAVED.txt和ERROR.txt是即时的,不必担心重复爬取。
down_one.py 下载单一网页内的所有目标图片
down_some.py 下载多个网页内的所有目标图片
down_error.py 下载之前下载失败的图片(通过读取ERROR.txt)
make_html_dir.py 制作汇总的网页,形成目录
add_utf-8.py 向已爬取的网页中添加编码tag(之后爬取的不需要再使用此程序)
get_taoyin_urls_from_favorite.py 从从浏览器导出的收藏夹中提取出桃隐网页
prettify_html_by_BeautifulSoup4.py 美化网页源代码缩进
taoyin_urls.txt 通过使用crawler_for_multiple_urls.py 爬取此文件内的网址的内容
SAVED.txt 已爬取的贴子的编号,即使存在部分图片未爬取成功,也会写入此文件
NO EXIST.txt 不存在或已删除的贴子的编号
NO JURISDICTION.txt 没有权限的贴子的编号
ERROR.txt 失败图片的信息,有贴子编号,图片网址,图片序号,图片下载地址
Download Link.txt 若网页中含有下载链接,则存入此文件
-
- 代码重构
- 增添多线程
- 更换新域名以及对应headers
- 2019.08.01新增make_html_dir.py,制作汇总的网页,形成目录
- 同日,发现制作的网页未指明utf-8,出现乱码,新增add_utf-8.py以向已爬取的网页中添加编码tag,并在down_onw.py中的网页框架中增添编码tag
-
- 未登录导致部分贴子游客权限不够
- 未登录并回复导致部分贴子无法爬取全部图片
没有多线程
-
-
在8.0中取消的文件
crawler_class.py 爬虫类
crawler_for_single_url.py 下载单一网页内的所有目标图片
crawler_for_multiple_urls.py 下载多个网页内的所有目标图片
crawler_for_img_of_ERRORtxt.py 下载之前下载失败的图片(通过读取ERROR.txt)
-
给crawler_for_img_of_ERRORtxt.py增添了多线程,另外两个程序因为担心多线程会导致写入文件出现问题,没有写多线程(
才不是因为懒呢)
-
-
-
完善类的成员变量,完整框架,修复bug
-
开始生成NO EXIST.txt,NO JURISDICTION.txt
-
-
-
开始生成SAVED.txt, ERROR.txt, Download Link.txt
-
引入traceback,在被调用函数中获取调用它的函数信息
-
优化了从网页中提取目标图片时的一个bug
-
等等
-
缺点:类内成员变量很乱,类的初始化传值很乱
-
BUG:回复可见类型的,如725217。
-
-
-
添加html_type == 2时的爬取图片策略和制作网页策略
-
更改存储路径为sub_path = '' #子路径,如:桃隐社区\H漫画|同人|汉化字幕\以网页标题命名的文件夹
-
在def no_alert_error(self, html_source_code)中添加了一种情况
-
美化html_frame
-
等等
-
-
-
基本全部用类重构了一遍,并提供单网页和多网页的选择
-
开始引入bs4
-
可以提取目标网页主要内容并制作净化后的网页
-
等等
-
-
-
增添了大量内容
-
缺点:
-
自动跳转是否18岁确认按钮,尚未解决此问题
-
未登录,部分权限受限
-
回复可见的内容
-
未将帖子的内容爬下来,特别是下载链接
-
保存网页到本地后,本地打开,也会跳转至18岁确认按钮,不知道怎么跳转的
-
正则表达式仍需改善
-
-
-
-
完善正则表达式的提取
-
用时统计
-
各步骤文字提示
-
源代码内置目标网址改为运行时输入网址
-
-
人生第一个python爬虫小程序