我上面发的那个网站小说挺全的,还可以根据作者名来搜索,下次可以试试这个网站,原理都差不多,也没啥难度,因为网站的小说应该也是从别的地方爬过来的,‘程序员才体谅程序员’,它们也不会设置什么反爬的手段,可能就算你user-agent不改都可以成功爬取到数据。

但是这里要注意下爬虫礼仪,我们用爬虫只是为了让计算机帮助我们获取数据,而不是像黑客那样要把别人服务器搞崩溃,我们可以在爬数据的过程中适当设置程序休眠,不要爬的太快增加它们服务器的压力。(别人可能会因为这个用封你ip等手段来搞你。马上我会讲下这个免费ip代理网站就是这样的,你爬的过快,它认为你是爬虫就直接给你ip封了。)

(二):设置user-agent代理池。

user-agent池大概像这样处理以下,(或者你也可以去网站爬,我这里是直接手打了几个):
image.png

至于打多少个看个人兴趣,这里注意下可能网上有的人发的是不对的,或者说现在不能用了,要自己判断。

(三):用户输入要下载的小说名称 根据1获得的url跳转。


image.png

像这样,用户输入后就改变get url的params参数。

python爬虫爬取某免费小说网站的小说(使用ip代理池和user

(四):抓取网站搜索后得到的网站匹配出的所有书籍信息。
这里我首先讲下免费代理ip的用法:


image.png

大致格式是这样。其中注意这里面两个https,(特别坑),用到了我前面发的ssl的概念(详情可以去看看)。
大意就是有的网站没有ca证书(比如我爬的这个小说网站),所以它的访问域名最前面时http而不是https,如果你用你自己电脑的ip去访问它,可能一点事都没有,但是如果你用代理ip去访问它,而且你代理ip里面用的也是http,那么就访问不了,具体原因我也不清楚,我想可能要求必须安全访问?可以试试将verify设置为False就能访问了?很搞的一点是对于https网站来说,代理ip就不能用https,也会出错。实在搞不清楚,反正规律就是原网站有s你就不加,原网站没有你就加上。

获取所有小说代码大概这样:
image.png

我用的xpath,到底用re,xpath,bs4就看个人习惯了。

(五):通过关键词匹配书。


image.png

首先如果当前目录不存在小说文件夹,就创建它。
然后匹配出所有的书,书的信息是字典格式,name参数是书名,url参数是小说首页的url。

(六):按顺序将整本小说缓存到本地。
这里面你可以多搞几个逻辑,到底是全下还是下一本等等。主要代码:


image.png

也没有啥难度,找准待匹配关键字就好了。

大概整体逻辑就是这样。

3 .完整代码如下

阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。