7325156 / jjwxcNovelCrawler

使用python3爬虫下载晋江小说(可下载VIP章节,app源下载)【此项目仅供学习交流使用,严禁用于商业用途,请在24小时之内删除。】
283 stars 48 forks source link

众筹字体反爬虫文件…… #6

Closed 7325156 closed 3 years ago

7325156 commented 3 years ago

(由于该楼太高,故于2021/2/6新开一楼,此楼不再更改。) 晋江使用的是字体反爬虫,如果出现什么新的字体没有列出来,可以在这里输入章节网址,或者直接传一个字体文件(把文件拖拽到输入框即可)。 如何更快地完成对照表 目前已有字体文件: jjwxcfont_0004v jjwxcfont_00070 jjwxcfont_00091 jjwxcfont_000bl jjwxcfont_000dz jjwxcfont_000ib jjwxcfont_000m4 jjwxcfont_000mn jjwxcfont_000qt jjwxcfont_000t5 jjwxcfont_000wi jjwxcfont_000xw jjwxcfont_0012a jjwxcfont_00147 jjwxcfont_0015q jjwxcfont_001ac jjwxcfont_001d3 jjwxcfont_001fl jjwxcfont_001i5 jjwxcfont_001ks jjwxcfont_001n4 jjwxcfont_001qb jjwxcfont_001u8 jjwxcfont_001wb jjwxcfont_001yu jjwxcfont_00210 jjwxcfont_0023v jjwxcfont_0026b jjwxcfont_00294 jjwxcfont_002e2 jjwxcfont_002em jjwxcfont_002h0 jjwxcfont_002kt jjwxcfont_002nb jjwxcfont_002pr jjwxcfont_002ue jjwxcfont_002vc jjwxcfont_002zh jjwxcfont_00317 jjwxcfont_00355 jjwxcfont_0038d jjwxcfont_003am jjwxcfont_003ce jjwxcfont_003fx jjwxcfont_003jp jjwxcfont_003kl jjwxcfont_003o0 jjwxcfont_003s0 jjwxcfont_003tk jjwxcfont_003wv jjwxcfont_003zu jjwxcfont_0041e jjwxcfont_0043t jjwxcfont_00484 jjwxcfont_0049b jjwxcfont_004di jjwxcfont_004gl jjwxcfont_004hu jjwxcfont_004kc jjwxcfont_004np jjwxcfont_004q9 jjwxcfont_004t9 jjwxcfont_004v9 jjwxcfont_004z1 jjwxcfont_0052c jjwxcfont_0055y jjwxcfont_0057c jjwxcfont_005aa jjwxcfont_005dc jjwxcfont_005gr jjwxcfont_005jc jjwxcfont_005ml jjwxcfont_005nm jjwxcfont_005s0 jjwxcfont_005u3 jjwxcfont_005xn jjwxcfont_005yg jjwxcfont_0063d jjwxcfont_0065q jjwxcfont_0067u jjwxcfont_006as jjwxcfont_006dp jjwxcfont_006ge jjwxcfont_006jq jjwxcfont_006l4 jjwxcfont_006p4 jjwxcfont_006s5 jjwxcfont_006uw jjwxcfont_006x3 jjwxcfont_006yy jjwxcfont_00725 jjwxcfont_0073m jjwxcfont_0078d jjwxcfont_007ax jjwxcfont_007cx jjwxcfont_007f3 jjwxcfont_007ib jjwxcfont_007kc jjwxcfont_007p4 jjwxcfont_007qa jjwxcfont_007tj jjwxcfont_007x1 jjwxcfont_007yi jjwxcfont_0082v jjwxcfont_00844 jjwxcfont_0088f jjwxcfont_008ab jjwxcfont_008g9(来自 @8starcrystal8)

众筹反爬虫对照表,已完成对照表如下: jjwxcfont_0004v jjwxcfont_00070 jjwxcfont_00091 jjwxcfont_000bl jjwxcfont_000dz jjwxcfont_000ib jjwxcfont_000m4 jjwxcfont_000mn jjwxcfont_000qt jjwxcfont_000t5 jjwxcfont_000wi jjwxcfont_000xw jjwxcfont_0012a jjwxcfont_00147 jjwxcfont_0015q jjwxcfont_001ac jjwxcfont_001d3 jjwxcfont_001fl( @8starcrystal8完成) jjwxcfont_0082v jjwxcfont_00844( @113000完成)

8starcrystal8 commented 3 years ago

大大,我刚拿到了个似乎是新的woff2文件 (发成zip文件,需要解压,woff2似乎发不上来。)。

PS:不知道能不看到文件。 jjwxcfont_001ac.zip

7325156 commented 3 years ago

大大,我刚拿到了个似乎是新的woff2文件 (发成zip文件,需要解压,woff2似乎发不上来。)。

PS:不知道能不看到文件。 jjwxcfont_001ac.zip

可以看到,已经把处理好的ttf添加到jjwxcfont文件夹里了。 更新了一个不需要下载字体、直接连接晋江数据库字体的版本,感兴趣的话可以看一看。

113000 commented 3 years ago

痛苦,花了个小时都弄不明白这么做字体,我直接把我找到的新的对照打出来吧(在对照表txt里没有的)

e14d_都

ea32_说

ec37_就

e621_道

e512_天

e3ee_点

e56d_过

7325156 commented 3 years ago

痛苦,花了个小时都弄不明白这么做字体,我直接把我找到的新的对照打出来吧(在对照表txt里没有的)

e14d_都

ea32_说

ec37_就

e621_道

e512_天

e3ee_点

e56d_过

这个是我没写清楚。先下载jjwxcfont文件夹里的ttf文件,然后再打开 https://font.qqe2.com/ 网址,再在这个网站中打开下载好的ttf文件,就可以看到一个个汉字,汉字下面一小串编码就是该汉字对应的编码。每个文件的对应方案都是不同的。不过现在用不着这么麻烦,最新release版本程序下载的小说联网就能解析乱码。

8starcrystal8 commented 3 years ago

很奇怪啊。我试了新的release版本,不过几乎爬不下v章节,爬了几章就会卡在那边不动。爬下的v章也只显示章节名而已。 改:发现需要在epub文件夹里建一个Fonts文件夹才能顺利爬v。

而且我还发现前一个版本似乎也有点怪怪的。爬下的v章有很多都有空格。这些空格应该有字的。

7325156 commented 3 years ago

很奇怪啊。我试了新的release版本,不过几乎爬不下v章节,爬了几章就会卡在那边不动。爬下的v章也只显示章节名而已。

而且我还发现前一个版本似乎也有点怪怪的。爬下的v章有很多都有空格。这些空格应该有字的。

如果最后显示出“第n章未购买或下载失败”的字样,换个浏览器获取cookie试试?或者换个网?(经常这样,我已经习惯了。) 至于版本问题……除了最新版本,其他版本都无法获取v章内容。

8starcrystal8 commented 3 years ago

很奇怪啊。我试了新的release版本,不过几乎爬不下v章节,爬了几章就会卡在那边不动。爬下的v章也只显示章节名而已。 而且我还发现前一个版本似乎也有点怪怪的。爬下的v章有很多都有空格。这些空格应该有字的。

如果最后显示出“第n章未购买或下载失败”的字样,换个浏览器获取cookie试试?或者换个网?(经常这样,我已经习惯了。) 至于版本问题……除了最新版本,其他版本都无法获取v章内容。

不是不是,我说的前一个版本就是那个需要woff2和ttf的那个。

新版本我发现需要在epub文件夹里建一个Fonts文件夹才能顺利爬v。不过也和前一个需要woff2和ttf版本的一样有缺字和乱码。

举个例子:

下面是是从网页拉出来的,( x )里的字应该是需要转换的字: “可是,那是一场战争……”阿B复杂地看着舒尝微。

“当然,我知道。但是,这是一场必然的战争。如果我们不推一把,一切很可能成为一场偷袭,我们可能失去预判的(先)‌机。”舒尝微冷静地说。

epub_main爬下来的是: “可是,那是一场战争……”阿B复杂地看着舒尝微。

“当然,我知道。但是,这是一场必然的战争。如果我们不推一把,一切很可能成为一场偷袭,我们可能失去预判的‌机。”舒尝微冷静地说。

“先”这个字并未显示出来。不过这是我转换epub成txt发现的。难道是在epub里显现了,但转换txt不能显现?

7325156 commented 3 years ago

很奇怪啊。我试了新的release版本,不过几乎爬不下v章节,爬了几章就会卡在那边不动。爬下的v章也只显示章节名而已。 而且我还发现前一个版本似乎也有点怪怪的。爬下的v章有很多都有空格。这些空格应该有字的。

如果最后显示出“第n章未购买或下载失败”的字样,换个浏览器获取cookie试试?或者换个网?(经常这样,我已经习惯了。) 至于版本问题……除了最新版本,其他版本都无法获取v章内容。

不是不是,我说的前一个版本就是那个需要woff2和ttf的那个。

新版本我发现需要在epub文件夹里建一个Fonts文件夹才能顺利爬v。不过也和前一个需要woff2和ttf版本的一样有缺字和乱码。

举个例子:

下面是是从网页拉出来的,( x )里的字应该是需要转换的字: “可是,那是一场战争……”阿B复杂地看着舒尝微。

“当然,我知道。但是,这是一场必然的战争。如果我们不推一把,一切很可能成为一场偷袭,我们可能失去预判的(先)‌机。”舒尝微冷静地说。

epub_main爬下来的是: “可是,那是一场战争……”阿B复杂地看着舒尝微。

“当然,我知道。但是,这是一场必然的战争。如果我们不推一把,一切很可能成为一场偷袭,我们可能失去预判的‌机。”舒尝微冷静地说。

“先”这个字并未显示出来。不过这是我转换epub成txt发现的。难道是在epub里显现了,但转换txt不能显现?

字体反爬虫的原理是将某个字的Unicode编码变成其他不在字符表的乱码,这样字就显示成框,如果引入字体文件,该乱码在字体文件中对应的字形就是原来的字。这样爬出来的是乱码,但是显示出来的是正确的字,转换成TXT的话,转换出来的还是乱码。具体可搜索字体反爬虫。 我处理字体反爬虫就是引入了反爬虫字体文件,引入过程可以参考epub包的css文件。最新版直接连接了晋江数据库的字体文件,所以需要联网才能显示。 但是有的epub阅读器不支持读取字体功能,所以显示的还是乱码。我这边测试过,Windows环境下sigil、calibre编辑器以及Chrome的epubreader插件可以显示,sumatraPDF就不行;Android环境下静读天下专业版可以显示,其他的还没测试过。可以考虑换一个epub阅读器,或者换一下css文件里的网址格式()。http://static.jjwxc.net/tmp/fonts/jjwxcfont_000ib.woff2?h=my.jjwxc.net

113000 commented 3 years ago

字体反爬虫的原理是将某个字的Unicode编码变成其他不在字符表的乱码,这样字就显示成框,如果引入字体文件,该乱码在字体文件中对应的字形就是原来的字。这样爬出来的是乱码,但是显示出来的是正确的字,转换成TXT的话,转换出来的还是乱码。具体可搜索字体反爬虫。 我处理字体反爬虫就是引入了反爬虫字体文件,引入过程可以参考epub包的css文件。最新版直接连接了晋江数据库的字体文件,所以需要联网才能显示。 但是有的epub阅读器不支持读取字体功能,所以显示的还是乱码。我这边测试过,Windows环境下sigil、calibre编辑器以及Chrome的epubreader插件可以显示,sumatraPDF就不行;Android环境下静读天下专业版可以显示,其他的还没测试过。可以考虑换一个epub阅读器,或者换一下css文件里的网址格式()。http://static.jjwxc.net/tmp/fonts/jjwxcfont_000ib.woff2?h=my.jjwxc.net

刚刚用Chrome的epubreader插件试过,在浏览器是阅读没问题,但是moon+ reader pro (静读天下)不行啊?是我设定错误吗?看过moon+的后台,的确没有任何data上传或下载。 把jjwxcNovelCrawler-master\epub下载\Fonts里的文件放进手机,设定了EPUB的"使用书籍内置字体",不“禁用CSS”,可是出来的还是显示不了反爬虫字体 (额外的问题,在main_epub.py或EPUB2.py在创造epub的时候怎么设定字体啊?现在出来的书籍内置字体太细了,想要粗一点的字体,例如 sans-serif)

7325156 commented 3 years ago

字体反爬虫的原理是将某个字的Unicode编码变成其他不在字符表的乱码,这样字就显示成框,如果引入字体文件,该乱码在字体文件中对应的字形就是原来的字。这样爬出来的是乱码,但是显示出来的是正确的字,转换成TXT的话,转换出来的还是乱码。具体可搜索字体反爬虫。 我处理字体反爬虫就是引入了反爬虫字体文件,引入过程可以参考epub包的css文件。最新版直接连接了晋江数据库的字体文件,所以需要联网才能显示。 但是有的epub阅读器不支持读取字体功能,所以显示的还是乱码。我这边测试过,Windows环境下sigil、calibre编辑器以及Chrome的epubreader插件可以显示,sumatraPDF就不行;Android环境下静读天下专业版可以显示,其他的还没测试过。可以考虑换一个epub阅读器,或者换一下css文件里的网址格式()。http://static.jjwxc.net/tmp/fonts/jjwxcfont_000ib.woff2?h=my.jjwxc.net

刚刚用Chrome的epubreader插件试过,在浏览器是阅读没问题,但是moon+ reader pro (静读天下)不行啊?是我设定错误吗?看过moon+的后台,的确没有任何data上传或下载。 把jjwxcNovelCrawler-master\epub下载\Fonts里的文件放进手机,设定了EPUB的"使用书籍内置字体",不“禁用CSS”,可是出来的还是显示不了反爬虫字体 (额外的问题,在main_epub.py或EPUB2.py在创造epub的时候怎么设定字体啊?现在出来的书籍内置字体太细了,想要粗一点的字体,例如 sans-serif)

……安卓版的话还是得在静读天下字体文件夹里装字体。 设置字体是我也忘了在哪儿,你打开main文件,搜索font-face,差不多就在那儿。

8starcrystal8 commented 3 years ago

字体反爬虫的原理是将某个字的Unicode编码变成其他不在字符表的乱码,这样字就显示成框,如果引入字体文件,该乱码在字体文件中对应的字形就是原来的字。这样爬出来的是乱码,但是显示出来的是正确的字,转换成TXT的话,转换出来的还是乱码。具体可搜索字体反爬虫。 我处理字体反爬虫就是引入了反爬虫字体文件,引入过程可以参考epub包的css文件。最新版直接连接了晋江数据库的字体文件,所以需要联网才能显示。 但是有的epub阅读器不支持读取字体功能,所以显示的还是乱码。我这边测试过,Windows环境下sigil、calibre编辑器以及Chrome的epubreader插件可以显示,sumatraPDF就不行;Android环境下静读天下专业版可以显示,其他的还没测试过。可以考虑换一个epub阅读器,或者换一下css文件里的网址格式()。http://static.jjwxc.net/tmp/fonts/jjwxcfont_000ib.woff2?h=my.jjwxc.net

我用的是电纸书阅读器(不联网),所以通常下的epub或是txt。没有纯文字的话是个头痛的问题啊,毕竟需要联网和录入fonts,而且也很可能电纸书还是不能显示。若是“反爬虫对照表“对照完的话,有没有可能能运用对照表替换掉乱码,使其显示纯文字?

另附:jjwxcfont_000bl.txt,jjwxcfont_000dz.woff2.xml.txt 和 jjwxcfont_0004v.woff2.xml.txt 对照表文件,已对照文字(希望能看到附件)。可以的话,对照表能double check一下更感激不尽。另外,能求下jjwxcfont_001ac.woff2的对照表吗?

PS:不知道为什么,jjwxcfont_000bl.txt 里面的&#xxxx没有“(引号),但是jjwxcfont_0004v.woff2.xml.txt和jjwxcfont_000dz.woff2.xml.txt里却有“(引号)。 jjwxcfont_000bl.txt jjwxcfont_0004v.woff2.xml.txt jjwxcfont_000dz.woff2.xml.txt

113000 commented 3 years ago

我刚刚在https://font.qqe2.com 新建了一个Project,然后导入jjwxcfont内的字体文件,然后下载tif(本来打算合并成一个放进手机里)的时候,网站提醒了“重复的unicode代码点”。

例如:$E007 就对应着 气,已,实 $E00D 对应着 见,我,已

这样子没问题吗?

用工具-按代码进行排序

7325156 commented 3 years ago

字体反爬虫的原理是将某个字的Unicode编码变成其他不在字符表的乱码,这样字就显示成框,如果引入字体文件,该乱码在字体文件中对应的字形就是原来的字。这样爬出来的是乱码,但是显示出来的是正确的字,转换成TXT的话,转换出来的还是乱码。具体可搜索字体反爬虫。 我处理字体反爬虫就是引入了反爬虫字体文件,引入过程可以参考epub包的css文件。最新版直接连接了晋江数据库的字体文件,所以需要联网才能显示。 但是有的epub阅读器不支持读取字体功能,所以显示的还是乱码。我这边测试过,Windows环境下sigil、calibre编辑器以及Chrome的epubreader插件可以显示,sumatraPDF就不行;Android环境下静读天下专业版可以显示,其他的还没测试过。可以考虑换一个epub阅读器,或者换一下css文件里的网址格式()。http://static.jjwxc.net/tmp/fonts/jjwxcfont_000ib.woff2?h=my.jjwxc.net

我用的是电纸书阅读器(不联网),所以通常下的epub或是txt。没有纯文字的话是个头痛的问题啊,毕竟需要联网和录入fonts,而且也很可能电纸书还是不能显示。若是“反爬虫对照表“对照完的话,有没有可能能运用对照表替换掉乱码,使其显示纯文字?

另附:jjwxcfont_000bl.txt,jjwxcfont_000dz.woff2.xml.txt 和 jjwxcfont_0004v.woff2.xml.txt 对照表文件,已对照文字(希望能看到附件)。可以的话,对照表能double check一下更感激不尽。另外,能求下jjwxcfont_001ac.woff2的对照表吗?

PS:不知道为什么,jjwxcfont_000bl.txt 里面的&#xxxx没有“(引号),但是jjwxcfont_0004v.woff2.xml.txt和jjwxcfont_000dz.woff2.xml.txt里却有“(引号)。 jjwxcfont_000bl.txt jjwxcfont_0004v.woff2.xml.txt jjwxcfont_000dz.woff2.xml.txt

多谢!我这就把它们放上去。 (001ac我还没来得及弄,一会儿再弄)

7325156 commented 3 years ago

我刚刚在https://font.qqe2.com 新建了一个Project,然后导入jjwxcfont内的字体文件,然后下载tif(本来打算合并成一个放进手机里)的时候,网站提醒了“重复的unicode代码点”。

例如:$E007 就对应着 气,已,实 $E00D 对应着 见,我,已

这样子没问题吗?

用工具-按代码进行排序

每次只能打开一个文件,因为每个文件的对应规则都不一样 直接点“打开”按钮就行

8starcrystal8 commented 3 years ago

多谢!我这就把它们放上去。 (001ac我还没来得及弄,一会儿再弄)

能问一下哈,jjwxcfont_000bl.txt里面,像是 &#xE3DB ;-美 都没有 “ 符号,不过其他的txt像是jjwxcfont_0004v.woff2.xml.txt 里的&#xE005";-什 和其他的txt文件里都有 “ 符号,会有影响吗?我看了下xml文件,好像是都没看到 ” 符号的...

附:无引号符号txt文本。 jjwxcfont_0004v.woff2.xml_无引号符号.txt jjwxcfont_000dz.woff2.xml_无引号符号.txt

7325156 commented 3 years ago

多谢!我这就把它们放上去。 (001ac我还没来得及弄,一会儿再弄)

能问一下哈,jjwxcfont_000bl.txt里面,像是 &#xE3DB ;-美 都没有 “ 符号,不过其他的txt像是jjwxcfont_0004v.woff2.xml.txt 里的&#xE005";-什 和其他的txt文件里都有 “ 符号,会有影响吗?我看了下xml文件,好像是都没看到 ” 符号的...

附:无引号符号txt文本。 jjwxcfont_0004v.woff2.xml_无引号符号.txt jjwxcfont_000dz.woff2.xml_无引号符号.txt

……这个是我没处理干净(祖传粗心大意了)

8starcrystal8 commented 3 years ago

附上jjwxcfont_000mn.woff2.xml_无引号符号.txt,jjwxcfont_000m4.woff2.xml_无引号符号.txt,jjwxcfont_000ib.woff2.xml_无引号符号.txt 三个对照表文件,已对照文字。剩下的等明天了... jjwxcfont_000m4.woff2.xml_无引号符号.txt jjwxcfont_000ib.woff2.xml_无引号符号.txt jjwxcfont_000mn.woff2.xml_无引号符号.txt

7325156 commented 3 years ago

附上jjwxcfont_000mn.woff2.xml_无引号符号.txt,jjwxcfont_000m4.woff2.xml_无引号符号.txt,jjwxcfont_000ib.woff2.xml_无引号符号.txt 三个对照表文件,已对照文字。剩下的等明天了... jjwxcfont_000m4.woff2.xml_无引号符号.txt jjwxcfont_000ib.woff2.xml_无引号符号.txt jjwxcfont_000mn.woff2.xml_无引号符号.txt

多谢!阁下不愧是肝帝,肝力十足,大佬大佬,比我辈懒癌肝多了。 在下看到加起来总共三千二百字的对照表就头皮发麻,阁下之肝力无穷真是让在下佩服得五体投地! (其实我最近在晋江上写收藏只有十几的古风小说,算算刚过十万字,所以画风才如此清奇,鉴于拙作实在无法见人,就不拿出来贻笑大方了)

8starcrystal8 commented 3 years ago

附上jjwxcfont_00070.woff2.xml_无引号符号.txt,jjwxcfont_000qt.woff2.xml_无引号符号.txt,jjwxcfont_00091.woff2.xml_无引号符号.txt,jjwxcfont_000t5.woff2.xml_无引号符号.txt,jjwxcfont_000wi.woff2.xml_无引号符号.txt,jjwxcfont_000xw.woff2.xml_无引号符号.txt, jjwxcfont_001ac.txt 七个对照表文件,已对照文字(欢迎double check)。发现有些ttf需要在https://font.qqe2.com 上按代码排行才能对照txt文件。剩下的我看看等下有时间吗...没时间只能等明天了(或者是今天?!都凌晨了!)

就尽量吧。最近就因为反爬,我得人工抓文+替换乱码to文字 (怕JJ又锁文什么的)...真希望能自动替换啊...

PS:可以的!我去搜搜古风栏目?是言情还是耽美的文?

改:另附上jjwxcfont_0012a.woff2.xml_无引号符号.txt,jjwxcfont_0015q.woff2.xml_无引号符号.txt,jjwxcfont_00147.woff2.xml_无引号符号.txt 剩下的三个对照表文件,已对照文字(欢迎double check)。终于搞定了!

jjwxcfont_00070.woff2.xml_无引号符号.txt jjwxcfont_001ac.txt jjwxcfont_000xw.woff2.xml_无引号符号.txt jjwxcfont_000wi.woff2.xml_无引号符号.txt jjwxcfont_000t5.woff2.xml_无引号符号.txt jjwxcfont_00091.woff2.xml_无引号符号.txt jjwxcfont_000qt.woff2.xml_无引号符号.txt jjwxcfont_0012a.woff2.xml_无引号符号.txt jjwxcfont_00147.woff2.xml_无引号符号.txt jjwxcfont_0015q.woff2.xml_无引号符号.txt

7325156 commented 3 years ago

附上jjwxcfont_00070.woff2.xml_无引号符号.txt,jjwxcfont_000qt.woff2.xml_无引号符号.txt,jjwxcfont_00091.woff2.xml_无引号符号.txt,jjwxcfont_000t5.woff2.xml_无引号符号.txt,jjwxcfont_000wi.woff2.xml_无引号符号.txt,jjwxcfont_000xw.woff2.xml_无引号符号.txt, jjwxcfont_001ac.txt 七个对照表文件,已对照文字(欢迎double check)。发现有些ttf需要在https://font.qqe2.com 上按代码排行才能对照txt文件。剩下的我看看等下有时间吗...没时间只能等明天了(或者是今天?!都凌晨了!)

就尽量吧。最近就因为反爬,我得人工抓文+替换乱码to文字 (怕JJ又锁文什么的)...真希望能自动替换啊...

PS:可以的!我去搜搜古风栏目?是言情还是耽美的文?

改:另附上jjwxcfont_0012a.woff2.xml_无引号符号.txt,jjwxcfont_0015q.woff2.xml_无引号符号.txt,jjwxcfont_00147.woff2.xml_无引号符号.txt 剩下的三个对照表文件,已对照文字(欢迎double check)。终于搞定了!

jjwxcfont_00070.woff2.xml_无引号符号.txt jjwxcfont_001ac.txt jjwxcfont_000xw.woff2.xml_无引号符号.txt jjwxcfont_000wi.woff2.xml_无引号符号.txt jjwxcfont_000t5.woff2.xml_无引号符号.txt jjwxcfont_00091.woff2.xml_无引号符号.txt jjwxcfont_000qt.woff2.xml_无引号符号.txt jjwxcfont_0012a.woff2.xml_无引号符号.txt jjwxcfont_00147.woff2.xml_无引号符号.txt jjwxcfont_0015q.woff2.xml_无引号符号.txt

阁下不愧是肝中之帝,一身是肝,在下佩服得五体投地,肝败吓疯。 (PS:我那篇太差了,差到我自己都不忍直视的境界,依然在疯狂改文中,实在没有勇气放出来。)

8starcrystal8 commented 3 years ago

阁下不愧是肝中之帝,一身是肝,在下佩服得五体投地,肝败吓疯。 (PS:我那篇太差了,差到我自己都不忍直视的境界,依然在疯狂改文中,实在没有勇气放出来。)

擦汗。表紧,改完了在说下也是ok的~

我试了下exe版的和源代码版epub的。exe版缺字/乱码可以直接替换成文字(就是出来纯文字的),但是源代码版epub的却还是缺字/乱码。能问下是需要修改什么吗?想用源代码版抓取因为源代码版的我做了点小修改 (其实就是把章节号前面加“第 ”后面加“ 章”, 变成“第 xxx 章”啦)。

7325156 commented 3 years ago

阁下不愧是肝中之帝,一身是肝,在下佩服得五体投地,肝败吓疯。 (PS:我那篇太差了,差到我自己都不忍直视的境界,依然在疯狂改文中,实在没有勇气放出来。)

擦汗。表紧,改完了在说下也是ok的~

我试了下exe版的和源代码版epub的。exe版缺字/乱码可以直接替换成文字(就是出来纯文字的),但是源代码版epub的却还是缺字/乱码。能问下是需要修改什么吗?想用源代码版抓取因为源代码版的我做了点小修改 (其实就是把章节号前面加“第 ”后面加“ 章”, 变成“第 xxx 章”啦)。

……啊,我更新的时候少引入了一个轮子。 刚刚更新了,试试看最新版的。

8starcrystal8 commented 3 years ago

……啊,我更新的时候少引入了一个轮子。 刚刚更新了,试试看最新版的。

哎!感谢大大更新txt版的!我试了txt源码版的, 能整合出来。需要建立fonts文件夹,里面有woff2,txt和ttf (ttf不太清楚不过woff2和txt是肯定要的),但还出了个error?等下我去试试epub源码版的。感谢大大!

txt版出了的error: Traceback (most recent call last): File "G:\jjwxcNovelCrawler-master (6)\jjwxcNovelCrawler-master\main_txtchanged.py", line 442, in ti=str(titlem[0]).split('') NameError: name 'titlem' is not defined

7325156 commented 3 years ago

……啊,我更新的时候少引入了一个轮子。 刚刚更新了,试试看最新版的。

哎!感谢大大更新txt版的!我试了txt源码版的, 能整合出来。需要建立fonts文件夹,里面有woff2,txt和ttf (ttf不太清楚不过woff2和txt是肯定要的),但还出了个error?等下我去试试epub源码版的。感谢大大!

txt版出了的error: Traceback (most recent call last): File "G:\jjwxcNovelCrawler-master (6)\jjwxcNovelCrawler-master\main_txtchanged.py", line 442, in ti=str(titlem[0]).split('') NameError: name 'titlem' is not defined

这应该是标题处理的问题,我又更新了一下,看看行不行。 (之前的乱码问题——字体文件没有又多出来一个吧!!?)

8starcrystal8 commented 3 years ago

这应该是标题处理的问题,我又更新了一下,看看行不行。 (之前的乱码问题——字体文件没有又多出来一个吧!!?)

没有没有,暂时没有新的字体,应该是我那时忘了放fonts的txt文件了,后来放了就好了。我试了新的txt版,error不见了(感谢大大!),不过很奇怪的是V章节的标题/章节名每章都变成"第200章”。epub版的也是出现标题/章节名变"第200章”。不知道是不是我这边的问题。好诡异,就连本来标题/章节名应该是“番外1”都变成"第200章”...

epub版现在也能替换成文字了。谢谢大大。

另:发现不知道为什么v章的标题/章节名如果是“第xx章”的话,不管有没有放序号,标题/章节名都会变成"第200章”,如果v章名字是“某某某(中文字体)”的话,放了序号倒是正常显示 (就是“第xx章 某某某”)。而且更诡异的是,明明都购买了某文的v章,结果只下载non-v章节就直接打包,并没显示到底使出了什么问题或是为什么v章没有下载(是没购买,还是下载失败)。换过几个游览器获取cookie,都一样。不知道是不是我这网的问题。

7325156 commented 3 years ago

这应该是标题处理的问题,我又更新了一下,看看行不行。 (之前的乱码问题——字体文件没有又多出来一个吧!!?)

没有没有,暂时没有新的字体,应该是我那时忘了放fonts的txt文件了,后来放了就好了。我试了新的txt版,error不见了(感谢大大!),不过很奇怪的是V章节的标题/章节名每章都变成"第200章”。epub版的也是出现标题/章节名变"第200章”。不知道是不是我这边的问题。好诡异,就连本来标题/章节名应该是“番外1”都变成"第200章”...

epub版现在也能替换成文字了。谢谢大大。

另:发现不知道为什么v章的标题/章节名如果是“第xx章”的话,不管有没有放序号,标题/章节名都会变成"第200章”,如果v章名字是“某某某(中文字体)”的话,放了序号倒是正常显示 (就是“第xx章 某某某”)。而且更诡异的是,明明都购买了某文的v章,结果只下载non-v章节就直接打包,并没显示到底使出了什么问题或是为什么v章没有下载(是没购买,还是下载失败)。换过几个游览器获取cookie,都一样。不知道是不是我这网的问题。

我下载的没这个问题,你要是想调试的话,可以把“#获取每一章内容”注释下面的多线程注释掉,再把已注释的for循环下载章节的放出来(self.get_sin(i)),就能显示error了。(毕竟你买的VIP我并没有买)

113000 commented 3 years ago

出现了一个很神奇的BUG! 如果 /Fonts/ 文件夹里只有 .woff2 文件,那么py文件(txt 和 epub版都一样)就可以把VIP可以下载下来 但是,如果 /Fonts/ 文件里任何其他文件,例如 .txt (反爬虫对照表的txt文件) 或 .tif ,那么就算我换了 cookie 也无法进入VIP章节 稍微不同的是如果放入 .txt 和 .tif, 那么 程序显示 “未购买或加载失败章节”situation 1) 如果只放入 .txt 文件,那么程序就连VIP章节都无法进入/下载 “下载进度:24/42 下载进度:24/42 下载完成,总进度:24/42”situation 2) 已经试过更换cookie

我试过把code改成这样

with open(self.path+"/jjwxcfont/"+fontfamily+".txt", "r",encoding='utf-8') as f:

就是把原来的 /Fonts/ 文件夹 改成 /jjwxcfont/ 文件夹,然后在jjwxcNovelCrawler-master文件夹或在epub下载文件夹里建立了一个 /jjwxcfont/ 文件夹,放入反爬虫对照表的txt文件,程序出来的还是 situation 2 的样子

7325156 commented 3 years ago

出现了一个很神奇的BUG! 如果 /Fonts/ 文件夹里只有 .woff2 文件,那么py文件(txt 和 epub版都一样)就可以把VIP可以下载下来 但是,如果 /Fonts/ 文件里任何其他文件,例如 .txt (反爬虫对照表的txt文件) 或 .tif ,那么就算我换了 cookie 也无法进入VIP章节 稍微不同的是如果放入 .txt 和 .tif, 那么 程序显示 “未购买或加载失败章节”situation 1) 如果只放入 .txt 文件,那么程序就连VIP章节都无法进入/下载 “下载进度:24/42 下载进度:24/42 下载完成,总进度:24/42”situation 2) 已经试过更换cookie

我试过把code改成这样

with open(self.path+"/jjwxcfont/"+fontfamily+".txt", "r",encoding='utf-8') as f:

就是把原来的 /Fonts/ 文件夹 改成 /jjwxcfont/ 文件夹,然后在jjwxcNovelCrawler-master文件夹或在epub下载文件夹里建立了一个 /jjwxcfont/ 文件夹,放入反爬虫对照表的txt文件,程序出来的还是 situation 2 的样子

它的原理是:如果在文件夹里搜索不到匹配的woff2字体文件,就把它下载下来。 为了防止有一天晋江突然更换反爬虫字体。 下载的过程要用到fonttools轮子,所以……要么是轮子没装,要么是网太慢?

113000 commented 3 years ago

它的原理是:如果在文件夹里搜索不到匹配的woff2字体文件,就把它下载下来。 为了防止有一天晋江突然更换反爬虫字体。 下载的过程要用到fonttools轮子,所以……要么是轮子没装,要么是网太慢?

fonttools有装,如果不把乱码转成txt的话(就是只用woff2)是没问题的,EPUB的效果不错(就是复制的不是纯文字)。

如果在文件夹里搜索不到匹配的woff2字体文件,就把它下载下来

这个效果也没问题

我就是试用下你辛辛苦苦处理的jjwxcfont_00XXX.txt,试一下反爬虫对照表的效果,没想到用不了

专门试用这两段

   #字体反爬虫

codetext=etree.tostring(dot,encoding="utf-8").decode() fontsrc=re.findall(r'//static.jjwxc.net/tmp/fonts/.*?woff2.h=my.jjwxc.net',codetext) if fontsrc!=[]: fontsrc="http:"+fontsrc[0] fontname=re.sub('http://static.jjwxc.net/tmp/fonts/','',fontsrc) fontname=re.sub('.h=my.jjwxc.net','',fontname) fontfamily=re.sub('.woff2','',fontname) try: with open(self.path+"/Fonts/"+fontfamily+".txt", "r",encoding='utf-8') as f: cvlist=f.readlines() for i in range(len(cvlist)): cvdic.append(cvlist[i].split('-')) cvdic=dict(cvdic)

    #反爬虫处理,必须把对照表TXT文件下载至Fonts文件夹

if cvdic!=[]: for i in range(len(tex)): for s,v in cvdic.items(): s=re.sub(r'&#x',r'\u',s) s=re.sub(r';','',s).encode('utf-8').decode('unicode_escape') tex[i]=re.sub(s,v.strip(),tex[i])

8starcrystal8 commented 3 years ago

我刚试了@113000说的,确实就是我昨天为什么只能下非v的怪事。刚才我删掉txt文件只剩下woff2之后真的能够把非v章和v章下载下来...真诡异...

我试了下下载7个不同的文,5个可以下(纯文字),2个v章下不了。cookie换了,游览器换了,电脑重启了,但是原先v章不能下的文还是下不了v章。

另附:我试过把txt文件放在另一个文件夹fontstxt,woff2文件留在Fonts文件夹里,然后修改 with open(self.path+"/Fonts/"+fontfamily+".txt", "r",encoding='utf-8') as f: 成:with open(self.path+"/fontstxt/"+fontfamily+".txt", "r",encoding='utf-8') as f: 但那2个文还是无法下载v章。

再另附:后修改回原路经,发现Fonts文件夹里只要没有txt文件(有woff2或是woff2+ttf),2个文都能够下载v章节(但是缺字/有乱码)。

...需要附上文号吗?以供troubleshoot?

8starcrystal8 commented 3 years ago

我发现为什么我下的章节名字全部变成“第200章”或是小说文第200章的章节名了。

因为这里的i:

            for i in range(len(cvlist)):
                cvdic.append(cvlist[i].split('-'))

把i参数变成恒定199。抓取章节名字的代码在其下面,所以每次下的章节都是第200章的章节名。

  if self.titleInfo[1]=='1':
      title=title+" "+self.titleindex[i].strip()

我把cvlist里的 i 改成 k 就正常显示文章名字了。

另:发现改了之后,现在原本不能下的那2个文也能下了(纯文字)。好像是因为这2个原本不能下的文都是少过200章的,而那5个能够下载的文都是超过200章的。

113000 commented 3 years ago

是这样改吗?(我的是txt.py)

  i=self.href_list.index(1)
  k=self.href_list.index(1) 
  for k in range(len(cvlist)):
         cvdic.append(cvlist[k].split('-'))

我发现这样出错的机率小点,我试过间隔的购买V章,也能下载下来

7325156 commented 3 years ago

这次应该搞定了 @113000 @starcrys

8starcrystal8 commented 3 years ago

是这样改吗?(我的是txt.py)

i=self.href_list.index(l) k=self.href_list.index(l)

for k in range(len(cvlist)): cvdic.append(cvlist[k].split('-'))

我发现这样出错的机率小点,我试过间隔的购买V章,也能下载下来

我的也是main_txt.py,main_epub.py 我后来改了也能用。 我的是本来是这样:

       for i in range(len(cvlist)):
           cvdic.append(cvlist[i].split('-'))

改成这样: for k in range(len(cvlist)): cvdic.append(cvlist[k].split('-'))

我没有加:

k=self.href_list.index(l)

就单单修改上面那个而已。

你也可以试试看如果不加 k=self.href_list.index(l) 然后改成以下

       for k in range(len(cvlist)):
           cvdic.append(cvlist[k].split('-'))

看看你那里可以把章节下载下来吗。当然,txt文件需要在Fonts文件夹里。

我有试过如果不改 i 成 k 的话,多加一个i=self.href_list.index(l)

i=self.href_list.index(l) if self.titleInfo[1]=='1': title=title+" "+self.titleindex[i].strip()

好像也能行。

话说,你那个版本的修改,出错几率在哪儿?

113000 commented 3 years ago

话说,你那个版本的修改,出了什么错?

跳章 如果我直接这样改

       for i in range(len(cvlist)):
           cvdic.append(cvlist[k].split('-'))

就是进了VIP章接后,例如:一开始是CH23, 然后是ch26,然后是CH31 中途少了很多章

       for k in range(len(cvlist)):
           cvdic.append(cvlist[k].split('-'))

进入不了VIP

8starcrystal8 commented 3 years ago

这次应该搞定了 @113000 @starcrys

谢谢大大!新版(至少txt版的)能顺利下。

113000 commented 3 years ago

这次应该搞定了 @113000 @starcrys

谢谢大大!新版(至少txt版的)能顺利下。

试过跳章,不同长度的小说,自定义文章标题都没出现乱码 ( ̄︶ ̄)) 真是多谢@7325156 @starcrys 辛苦了 (  ̄3)(ε ̄ *)

8starcrystal8 commented 3 years ago

话说,你那个版本的修改,出了什么错?

跳章 如果我直接这样改

       for i in range(len(cvlist)):
           cvdic.append(cvlist[k].split('-'))

就是进了VIP章接后,例如:一开始是CH23, 然后是ch26,然后是CH31 中途少了很多章

       for k in range(len(cvlist)):
           cvdic.append(cvlist[k].split('-'))

进入不了VIP

那个...for i in range(len(cvlist)): 应该是 for k in range(len(cvlist)):

有点奇怪...要不然你试试这个部分不要修改,然后在:

if self.titleInfo[1]=='1':
    title=title+" "+self.titleindex[i].strip()

上面加入 i=self.href_list.index(l) ,如下:

i=self.href_list.index(l)
if self.titleInfo[1]=='1':
    title=title+" "+self.titleindex[i].strip()

这样能行吗?

对了,我下的时候,确实有时候是跳章下的,不过整合的时候确定全部章节都有下完。

113000 commented 3 years ago

那个...for i in range(len(cvlist)): 应该是 for k in range(len(cvlist)):

有点奇怪...要不然你试试这个部分不要修改,然后在:

if self.titleInfo[1]=='1': title=title+" "+self.titleindex[i].strip()

上面加入 i=self.href_list.index(l) ,如下:

i=self.href_list.index(l) if self.titleInfo[1]=='1': title=title+" "+self.titleindex[i].strip()

这样能行吗?

嗯?我的章节名字神奇的一直没出问题,之前出的BUG都是乱码的问题 虽然按照你出的改了,嗯,如果不用k,那就还是乱码 估计主要问题是两个loop里面用同一个index,所以要同时用i和k

对了,我下的时候,确实有时候是跳章下的,不过整合的时候确定全部章节都有下完。

只要进了VIP章节都是全部章节都有下完

8starcrystal8 commented 3 years ago

那个...for i in range(len(cvlist)): 应该是 for k in range(len(cvlist)): 有点奇怪...要不然你试试这个部分不要修改,然后在:

if self.titleInfo[1]=='1': title=title+" "+self.titleindex[i].strip()

上面加入 i=self.href_list.index(l) ,如下:

i=self.href_list.index(l) if self.titleInfo[1]=='1': title=title+" "+self.titleindex[i].strip()

这样能行吗?

嗯?我的章节名字神奇的一直没出问题,之前出的BUG都是乱码的问题 虽然按照你出的改了,嗯,如果不用k,那就还是乱码 估计主要问题是两个loop里面用同一个index,所以要同时用i和k

是的。

对了,我下的时候,确实有时候是跳章下的,不过整合的时候确定全部章节都有下完。

只要进了VIP章节都是全部章节都有下完

额...等等,我有点混乱了。那现在是都ok了?还是还有bug?

113000 commented 3 years ago

额...等等,我有点混乱了。那现是都ok了?还是还有bug?

都Okay啦! (づ ̄ 3 ̄)づ

8starcrystal8 commented 3 years ago

都Okay啦! (づ ̄ 3 ̄)づ

Okay~! (づ ̄ 3 ̄)づ

levi330 commented 3 years ago

很奇怪啊。我试了新的release版本,不过几乎爬不下v章节,爬了几章就会卡在那边不动。爬下的v章也只显示章节名而已。 而且我还发现前一个版本似乎也有点怪怪的。爬下的v章有很多都有空格。这些空格应该有字的。

如果最后显示出“第n章未购买或下载失败”的字样,换个浏览器获取cookie试试?或者换个网?(经常这样,我已经习惯了。) 至于版本问题……除了最新版本,其他版本都无法获取v章内容。

不是不是,我说的前一个版本就是那个需要woff2和ttf的那个。 新版本我发现需要在epub文件夹里建一个Fonts文件夹才能顺利爬v。不过也和前一个需要woff2和ttf版本的一样有缺字和乱码。 举个例子: 下面是是从网页拉出来的,( x )里的字应该是需要转换的字: “可是,那是一场战争……”阿B复杂地看着舒尝微。 “当然,我知道。但是,这是一场必然的战争。如果我们不推一把,一切很可能成为一场偷袭,我们可能失去预判的(先)‌机。”舒尝微冷静地说。 epub_main爬下来的是: “可是,那是一场战争……”阿B复杂地看着舒尝微。 “当然,我知道。但是,这是一场必然的战争。如果我们不推一把,一切很可能成为一场偷袭,我们可能失去预判的‌机。”舒尝微冷静地说。 “先”这个字并未显示出来。不过这是我转换epub成txt发现的。难道是在epub里显现了,但转换txt不能显现?

字体反爬虫的原理是将某个字的Unicode编码变成其他不在字符表的乱码,这样字就显示成框,如果引入字体文件,该乱码在字体文件中对应的字形就是原来的字。这样爬出来的是乱码,但是显示出来的是正确的字,转换成TXT的话,转换出来的还是乱码。具体可搜索字体反爬虫。 我处理字体反爬虫就是引入了反爬虫字体文件,引入过程可以参考epub包的css文件。最新版直接连接了晋江数据库的字体文件,所以需要联网才能显示。 但是有的epub阅读器不支持读取字体功能,所以显示的还是乱码。我这边测试过,Windows环境下sigil

太太您好,用静读天下确实可以看到文字,但是需要每章都一个一个试导入的16个tff文件,请问这个有什么解决方法吗( •̥́ ˍ •̀)

freesialee commented 3 years ago

打扰了,运行exe的时候发现有如下问题,请问是否可以帮忙看看哪里出问题了呢? 正常输入cookies和地址后,fonts文件夹如果为空,可以下载到VIP章节,但是是加密字体的文字;把对照表的txt格式放进去,则不能下载VIP章节,只停在了非V的部分。 下载了整个fonts包解压后也是一样的,不能下载VIP部分,不知道是哪里出了问题……

8starcrystal8 commented 3 years ago

打扰了,运行exe的时候发现有如下问题,请问是否可以帮忙看看哪里出问题了呢? 正常输入cookies和地址后,fonts文件夹如果为空,可以下载到VIP章节,但是是加密字体的文字;把对照表的txt格式放进去,则不能下载VIP章节,只停在了非V的部分。 下载了整个fonts包解压后也是一样的,不能下载VIP部分,不知道是哪里出了问题……

可能exe版本的是上一个版本的。前一个版本下载少过200章的文有点问题,加密字体章节下不了。最新代码版本是OK的。可能需要找大大转换代码成exe文件。

113000 commented 3 years ago

太太您好,用静读天下确实可以看到文字,但是需要每章都一个一个试导入的16个tff文件,请问这个有什么解决方法吗( •̥́ ˍ •̀)

  1. 建立一个 /sdcard/fonts 文件夹(也可自定义位置),放入16个tff文件进fonts文件夹
  2. 静读天下 -> 打开任意文件 -> 可视选项 -> 字体选择 ->看看最下面位置是不是 /sdcard/fonts (不是就选择点击文件夹icon,然后转换成 /sdcard/fonts )

然后就自动转换乱码了

113000 commented 3 years ago

打扰了,运行exe的时候发现有如下问题,请问是否可以帮忙看看哪里出问题了呢? 正常输入cookies和地址后,fonts文件夹如果为空,可以下载到VIP章节,但是是加密字体的文字;把对照表的txt格式放进去,则不能下载VIP章节,只停在了非V的部分。 下载了整个fonts包解压后也是一样的,不能下载VIP部分,不知道是哪里出了问题……

可能exe版本的是上一个版本的。前一个版本下载少过200章的文有点问题,加密字体章节下不了。最新代码版本是OK的。可能需要找大大转换代码成exe文件。

下载python后,在main_epub.py或main_txt.py中加入cookies后(用python IDLE 修改或任意修改软件例如notepad++),储存退出。然后直接双击main_epub.py或main_txt.py,运行起来就是exe,而且是最新版,运行得非常成功,暂时没有新问题

freesialee commented 3 years ago

昨天上午使用正常,但是晚上再使用发现VIP部分又不行了,一看fonts文件夹,好家伙,一堆匹配不上的woff2文件(如附件),这是晋江更新了吗…… Fonts.zip image

8starcrystal8 commented 3 years ago

昨天上午使用正常,但是晚上再使用发现VIP部分又不行了,一看fonts文件夹,好家伙,一堆匹配不上的woff2文件(如附件),这是晋江更新了吗…… Fonts.zip image

!!吐血。突然间这么多?得有40-50个新的了吧 (JJ的新年礼物吗?!)?求@7325156 大大发一下ttf和txt。我等下试着肝一下看看。

PS: 我改了下github名了,从starcrys.

freesialee commented 3 years ago

昨天上午使用正常,但是晚上再使用发现VIP部分又不行了,一看fonts文件夹,好家伙,一堆匹配不上的woff2文件(如附件),这是晋江更新了吗…… Fonts.zip image

!!吐血。突然间这么多?得有40-50个新的了吧 (JJ的新年礼物吗?!)?求@7325156 大大发一下ttf和txt。我等下试着肝一下看看。

PS: 我改了下github名了,从starcrys.

不止 现在有80多个了……我的天