我上面发的那个网站小说挺全的,还可以根据作者名来搜索,下次可以试试这个网站,原理都差不多,也没啥难度,因为网站的小说应该也是从别的地方爬过来的,‘程序员才体谅程序员’,它们也不会设置什么反爬的手段,可能就算你user-agent不改都可以成功爬取到数据。
但是这里要注意下爬虫礼仪,我们用爬虫只是为了让计算机帮助我们获取数据,而不是像黑客那样要把别人服务器搞崩溃,我们可以在爬数据的过程中适当设置程序休眠,不要爬的太快增加它们服务器的压力。(别人可能会因为这个用封你ip等手段来搞你。马上我会讲下这个免费ip代理网站就是这样的,你爬的过快,它认为你是爬虫就直接给你ip封了。)
(二):设置user-agent代理池。
至于打多少个看个人兴趣,这里注意下可能网上有的人发的是不对的,或者说现在不能用了,要自己判断。
(三):用户输入要下载的小说名称 根据1获得的url跳转。
像这样,用户输入后就改变get url的params参数。

(四):抓取网站搜索后得到的网站匹配出的所有书籍信息。
这里我首先讲下免费代理ip的用法:
大致格式是这样。其中注意这里面两个https,(特别坑),用到了我前面发的ssl的概念(详情可以去看看)。
大意就是有的网站没有ca证书(比如我爬的这个小说网站),所以它的访问域名最前面时http而不是https,如果你用你自己电脑的ip去访问它,可能一点事都没有,但是如果你用代理ip去访问它,而且你代理ip里面用的也是http,那么就访问不了,具体原因我也不清楚,我想可能要求必须安全访问?可以试试将verify设置为False就能访问了?很搞的一点是对于https网站来说,代理ip就不能用https,也会出错。实在搞不清楚,反正规律就是原网站有s你就不加,原网站没有你就加上。
我用的xpath,到底用re,xpath,bs4就看个人习惯了。
(五):通过关键词匹配书。
首先如果当前目录不存在小说文件夹,就创建它。
然后匹配出所有的书,书的信息是字典格式,name参数是书名,url参数是小说首页的url。
(六):按顺序将整本小说缓存到本地。
这里面你可以多搞几个逻辑,到底是全下还是下一本等等。主要代码:
也没有啥难度,找准待匹配关键字就好了。
大概整体逻辑就是这样。
3 .完整代码如下