前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >瞎bb时间

瞎bb时间

作者头像
用户1145562
发布2020-10-23 12:05:33
4580
发布2020-10-23 12:05:33
举报
文章被收录于专栏:LC刷题

上次写文章还是很早以前了,中间断断续续的在写,但是断断续续的在删。老色批又来了。

本次关于某漫画网站的漫画的爬取。

动机

我在看一些视频网站,一些漫画网站,一些小说网站时,下面就有一些稀奇古怪的网站,你懂的。像我这样老色批就喜欢点进去看一看,上面就是这样的一个网站,估计以后就会改。

在该网站看漫画,前面几章是免费看的,看的心痒痒,但后面的几张就需要付费购买了。像我这样的穷屌丝,买是不可能买的,但又想看,只能花点时间白嫖,看能不能破解。

思路

为了把整个网站的漫画都存到我的硬盘里面,需要得到所有漫画的名称,每本漫画的所有章节,以及每个章节的漫画图片。

  1. 所有漫画名称 可以在找书一栏,看到所有的漫画 用鼠标下滑,发现右边的XHR会不断的又新文件产生,因此分析一下这个文件的内容。 经过对比Request URL的内容,很容易就看出page=i发生了改变,因此参考网页,构造一个get请求就可以得到json内容了,Preview就是最后得到的json文件了,可以得到每本漫画的bookId了,比如”/book/info/id/819”,最后的数字414就是这本书的ID了
  2. 有了这本书的Id,那么访问这本漫画,右边开发者栏,看到有3个XHR文件,稍微preview一下,infoOnload是这些人的评论啥的。

在左侧点击目录,就出现了一个listOnload文件,preview就能看到看到各个章节信息。

思路同上,还是看headers内容,这次是构造Post请求了。表单数据都有显示,是上面的漫画的ID

最后经过爬取,可以得到本章节的ID,如这次的47972

  1. 章节的ID也已经拿到,那么最后该拿该章节的所有图片了。

在上面免费的第二话的XHR的preview中,可以看到有imgdata,imgdate2,这两个属性,我试着用浏览器访问其中的内容,是可以看到一些图片的。

在上面收费的第8话的XHR的preview中,看到没有了imgdata属性,但是imgdata2属性还在,在尝试用浏览器能不能访问这些链接,发现居然是可以的,图片也是漫画的图片,那么至此,其实不需要破解收费其实也能够访问这些漫画。 不足之处:在imgdata2下,有一些链接是无法直接访问的,加上referen头也不行。姑且放过,这就导致章节中存在图片缺失,不过老色批会在意这个情节嘛? 最后只需要像上面构造post请求就行了,把图片链接都拿到,最后写好items,pipeline就行了。 最后展示一下最后的成果吧,部署在服务器上,还没有爬完。

代码实现

github上了

写一下下github上传项目操作吧,怕自己又又又又忘了。

  1. 网页github新建一个项目xphone2020
  2. 使用命令 git\ clone\ xxxx 这个项目到本地,然后把代码复制到clone下的这个文件夹
  3. 使用命令 git \ add \ . 将代码文件全部添加到缓存中。
  4. 使用命令 git \ commit -m \ ‘注释’ ,表示提交,还没有真正提交。
  5. 使用命令git \ push \ -u \ origin \ master,(此操作目的是把本地仓库push到github上面,此步骤需要你输入帐号和密码)finished.

github相关问题。

  1. 配置账号: 首先配置user_name,email_name $ git config --global user.name "你的github名" $ git config --global user.email "你的giuhub邮箱地址" 然后生成公钥私钥 ssh-keygen -t rsa -C "你的github邮箱" 最后一路enter,可能需要输入密码 Your identification has been saved in /c/Users/pc/.ssh/id_rsa. Your public key has been saved in /c/Users/pc/.ssh/id_rsa.pub. 将id_rsa.pub粘贴到github上的SSH key
  2. 原有账号删除
    • 运行一下命令缓存输入的用户名和密码:

    git config --global credential.helper wincred

    • 清除掉缓存在git中的用户名和密码

    git credential-manager uninstall

  3. git的代理问题 本地开启VPN后,GIt也需要设置代理,才能正常略过GFW,访问goole code等网站 设置如下(可复制): git config --global https.proxy http://127.0.0.1:1080 git config --global https.proxy https://127.0.0.1:1080 git config --global http.proxy 'socks5://127.0.0.1:1080' git config --global https.proxy 'socks5://127.0.0.1:1080' 取消 git config --global --unset http.proxy b git config --global --unset https.proxy

总结

本来想着通过搜索,学习一些网站破解的知识,拿到一些特别的数据,结果,可能时因为小网站吧,数据加密也不严密,反爬虫策略也没有,中间学了不少post请求,头大。但最后的结果还算满意吧,一开口就懂了.

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-06-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 动机
  • 思路
  • 代码实现
  • 总结
相关产品与服务
VPN 连接
VPN 连接(VPN Connections)是一种基于网络隧道技术,实现本地数据中心与腾讯云上资源连通的传输服务,它能帮您在 Internet 上快速构建一条安全、可靠的加密通道。VPN 连接具有配置简单,云端配置实时生效、可靠性高等特点,其网关可用性达到 99.95%,保证稳定、持续的业务连接,帮您轻松实现异地容灾、混合云部署等复杂业务场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档