7325156 / jjwxcNovelCrawler

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

使用main_txt的时候出现error #5

Closed 8starcrystal8 closed 3 years ago

8starcrystal8 commented 3 years ago

使用main_txt的时候出现了以下error:

Traceback (most recent call last): File "G:\jjwxcNovelCrawler-master (1)\jjwxcNovelCrawler-master\main_txt.py", line 388, in c.get_txt(num,state,50) File "G:\jjwxcNovelCrawler-master (1)\jjwxcNovelCrawler-master\main_txt.py", line 175, in get_txt res=requests.get(req_url,headers=self.headerss).content File "C:\Users\XXX\AppData\Local\Programs\Python\Python39\lib\site-packages\requests\api.py", line 76, in get return request('get', url, params=params, kwargs) File "C:\Users\XXX\AppData\Local\Programs\Python\Python39\lib\site-packages\requests\api.py", line 61, in request return session.request(method=method, url=url, kwargs) File "C:\Users\XXX\AppData\Local\Programs\Python\Python39\lib\site-packages\requests\sessions.py", line 516, in request prep = self.prepare_request(req) File "C:\Users\XXX\AppData\Local\Programs\Python\Python39\lib\site-packages\requests\sessions.py", line 449, in prepare_request p.prepare( File "C:\Users\XXX\AppData\Local\Programs\Python\Python39\lib\site-packages\requests\models.py", line 314, in prepare self.prepare_url(url, params) File "C:\Users\XXX\AppData\Local\Programs\Python\Python39\lib\site-packages\requests\models.py", line 388, in prepare_url raise MissingSchema(error) requests.exceptions.MissingSchema: Invalid URL '3060573': No schema supplied. Perhaps you meant http://3060573?

Process finished with exit code 1

能问下大大能改吗?出了这些error我都懵了... (我用的pycharm开的)感谢大大。

7325156 commented 3 years ago

也许你下载的request库版本跟我的不同? (不过现在也无所谓了,晋江搞了个反爬虫机制,在下才疏学浅,没办法对付它)

8starcrystal8 commented 3 years ago

头痛。我是连v章都下不了 (我把req_url_base='http://www.jjwxc.net/onebook.php?novelid=' 拉出来,放成global,放在import的下面好像就能运行了),全说我没有购买,虽然我购买了。 能问下这是为什么吗?cookies应该是对的,useragent 也放了。

是啊,我手动进去,一章里面好多乱码。怀疑一串字符代表一个图片还是什么的,感觉上他们用了Javascript还是什么的。有试过关了java,刷新页面,结果网页出现的就是好多‘口口’,对比了下发现这些‘口口’能对应上sourcecode里的一串串乱码。

另:刚看到了这个 https://pypi.org/project/requests-html/ 。不知道有没有帮助...

7325156 commented 3 years ago

这个反爬虫机制大概是把Unicode编码为5开头的汉字的编码重新加密成无意义Unicode码(我看突然没了的汉字的编码都是5开头的),不过知道怎么弄也没什么用。晋江随时都能更换反爬虫策略。

lyc8503 commented 3 years ago

这个反爬虫机制大概是把Unicode编码为5开头的汉字的编码重新加密成无意义Unicode码(我看突然没了的汉字的编码都是5开头的),不过知道怎么弄也没什么用。晋江随时都能更换反爬虫策略。

好像是晋江把对应的汉字替换成另一个没有使用的 utf-8 字符之后, 用网页加载的字体包让对应的字符再显示成汉字. 可能要把字体包下载下来之后做 OCR 识别还原汉字?

lyc8503 commented 3 years ago

这个反爬虫机制大概是把Unicode编码为5开头的汉字的编码重新加密成无意义Unicode码(我看突然没了的汉字的编码都是5开头的),不过知道怎么弄也没什么用。晋江随时都能更换反爬虫策略。

好像是晋江把对应的汉字替换成另一个没有使用的 utf-8 字符之后, 用网页加载的字体包让对应的字符再显示成汉字. 可能要把字体包下载下来之后做 OCR 识别还原汉字?

已经测试: 将打开 VIP 章节时抓包获取的 woff2 字体转换为 ttf 字体导入 Word 后, 可以正常显示原本含有方框乱码的文本.

7325156 commented 3 years ago

这个反爬虫机制大概是把Unicode编码为5开头的汉字的编码重新加密成无意义Unicode码(我看突然没了的汉字的编码都是5开头的),不过知道怎么弄也没什么用。晋江随时都能更换反爬虫策略。

好像是晋江把对应的汉字替换成另一个没有使用的 utf-8 字符之后, 用网页加载的字体包让对应的字符再显示成汉字. 可能要把字体包下载下来之后做 OCR 识别还原汉字?

已经测试: 将打开 VIP 章节时抓包获取的 woff2 字体转换为 ttf 字体导入 Word 后, 可以正常显示原本含有方框乱码的文本.

多谢,已经有头绪了