lxwx 发表于 2020-11-11 17:49

【lua】sfacg的linux下爬虫

本帖最后由 lxwx 于 2020-11-11 18:25 编辑

首先,新人报道。

这是一个我之前给kindle上用的lua小说爬虫,用到了一些简陋的linux'指令,功能也不是很完善,今天进站发出来,算是给各位献个丑了。

```
function init()
      page1 = "https://m.sfacg.com/c//"
      --引号内替换为对应小说sfacg手机网页版第一章页面地址
      link = page1
end

function getpage()
      os.execute("rm index.html\n")
      os.execute("wget -O index.html "..link.."\n")
end

function main()
      getpage()
      text = io.input("index.html")
      text = io.read("*a")
      i,txts=string.find(text,"返回<")
      txte=string.find(text,">上一章")
      links,linke=string.find(text,"/c/+\">下一章")
      if linke then
                linke=linke-11
                link="https://m.sfacg.com"..string.sub(text,links,linke)
      end
      maintxt=string.sub(text,txts+13,txte)
      maintxt=string.gsub(maintxt,"<p>","\n")
      maintxt=string.gsub(maintxt,"</p>","")
      maintxt=string.gsub(maintxt,"<br>","")
      maintxt=string.gsub(maintxt,"</div>","")
      maintxt=string.gsub(maintxt,"</li><li></li></ul>","")
      maintxt=string.gsub(maintxt,"<div class=\"yuedu_menu\"><a href=\"/c/+\">","")
      maintxt=string.gsub(maintxt,"<div .+\">","")
end

init()
links=0
io.output("xxx.txt") --这里把"xxx"换成小说的标题
while links ~= nil do
      main()
      io.write(maintxt.."\n")
end
io.close()
print("下载完成")
```

AmIzero 发表于 2021-4-19 12:48

菠萝包免费章节可以用这种方式爬
付费章节在web上都是转换成图片的 如果要提取文字很麻烦而且会有错误

移动端可以爬小说文本

compressor 发表于 2021-4-19 14:25

谢楼主,学习一下

lxwx 发表于 2021-5-6 18:02

AmIzero 发表于 2021-4-19 12:48
菠萝包免费章节可以用这种方式爬
付费章节在web上都是转换成图片的 如果要提取文字很麻烦而且会有错误



确实,当时就是下免费书用的,原来书架好些免费书都被干掉了,现在看到好看的就爬一下存到本地

AmIzero 发表于 2021-5-8 12:57

lxwx 发表于 2021-5-6 18:02
确实,当时就是下免费书用的,原来书架好些免费书都被干掉了,现在看到好看的就爬一下存到本地

可以可以
自从菠萝包接口要求sf_security之后以前写的爬虫全部木大
楼主是自己实现的爬虫吗,有操作的啊

lxwx 发表于 2021-5-8 20:41

AmIzero 发表于 2021-5-8 12:57
可以可以
自从菠萝包接口要求sf_security之后以前写的爬虫全部木大
楼主是自己实现的爬虫吗,有操作的 ...

没有啊,就是简单的wget下载页面,手动解析一下文件的字符串。。很原始的操作了{:1_907:}本人菜鸟一枚,高级的操作还不会用
页: [1]
查看完整版本: 【lua】sfacg的linux下爬虫