全球主机交流论坛

标题: 【已解决】小说爬虫疑问 [打印本页]

作者: cgi    时间: 2020-9-7 19:42
标题: 【已解决】小说爬虫疑问
本帖最后由 cgi 于 2020-9-8 09:59 编辑

我用python 写的脚本  获取了目录页面所有的 章节,然后下载的时候总是会下载红框里的章节,并不是从第一章开始下载的,有老哥指点一下吗。我相信LOC 肯定有爬虫大佬

用了@laogui 老哥说的方法 然后搜了一下 following-sibling 定位准确一些


作者: h20    时间: 2020-9-7 19:44
提示: 作者被禁止或删除 内容自动屏蔽
作者: cgi    时间: 2020-9-7 19:45
h20 发表于 2020-9-7 19:44
这种MJJ都是收费咨询

好吧。我再去b站看看
作者: vagrantear    时间: 2020-9-7 19:54
大概看了下,你的解析写的有问题,第一个穿的就是红框里的网址,肯定下载的也是那里的
作者: 518    时间: 2020-9-7 20:09
43行改为
  1. for href in href_s[12:]:
复制代码

作者: vagrantear    时间: 2020-9-7 20:13
518 发表于 2020-9-7 20:09
43行改为

这样没从根本上解决问题,换个小说又要换,而且那部分内容还少了
作者: 啊不要这样    时间: 2020-9-7 20:18
提示: 作者被禁止或删除 内容自动屏蔽
作者: 518    时间: 2020-9-7 20:19
本帖最后由 518 于 2020-9-7 20:22 编辑
vagrantear 发表于 2020-9-7 20:13
这样没从根本上解决问题,换个小说又要换,而且那部分内容还少了


好吧  那就改为
  1. for href in href_s[min(12,len(href_s)//2):]:
复制代码

作者: goop    时间: 2020-9-7 20:20
期待大佬出现。我赶紧mark一下。
作者: 老坛酸菜    时间: 2020-9-7 20:22
提示: 作者被禁止或删除 内容自动屏蔽
作者: Alanku    时间: 2020-9-7 20:56
你得学一点html
作者: pikiti    时间: 2020-9-7 21:00
dl中把两个dt中间内容删掉就行了
作者: pikiti    时间: 2020-9-7 21:10
本帖最后由 pikiti 于 2020-9-8 11:49 编辑

拉倒
作者: wqz    时间: 2020-9-7 21:14
要不要试试参考一下阅读(安卓APP github或者酷安可下载)的书源?
我记得阅读的书源是有章节获取规则的
阅读:https://github.com/gedoor/legado
源仓库:http://yck.mumuceo.com/
作者: laogui    时间: 2020-9-7 21:24

  1. href_s = sel.css('dd > a::attr(href)')
复制代码

改为
  1. href_s = sel.xpath('//dt[2]/following-sibling::*').css('dd > a::attr(href)')
复制代码

试试看
作者: cgi    时间: 2020-9-8 08:50
laogui 发表于 2020-9-7 21:24


改为

成了,多谢老哥,xpath和CSS 还可以一起用。
作者: cgi    时间: 2020-9-8 08:54
518 发表于 2020-9-7 20:09
43行改为

这个切片的意思就是前面12行不要是吧
作者: 绿豆    时间: 2020-9-8 08:56
马克一下,等大佬出现
作者: 518    时间: 2020-9-8 09:11
cgi 发表于 2020-9-8 08:54
这个切片的意思就是前面12行不要是吧

是,但是有些书章节少,要取长度//2和12最小值
  1. for href in href_s[min(12,len(href_s)//2):]:
复制代码

作者: cgi    时间: 2020-9-8 09:33
518 发表于 2020-9-8 09:11
是,但是有些书章节少,要取长度//2和12最小值

哦哦。明白了,谢谢




欢迎光临 全球主机交流论坛 (https://443502.xyz/) Powered by Discuz! X3.4