思路:如何获取章节链接,生成获取章节列表(生成的代码中的href属性=章节列表)
首先选取一篇漫画,点击任意章节:查看url中的路径为/web/comic/540156/
/web/comic/540156/应为章节链接
在network中查找/web/comic/540156/,只有一个herf属性为/web/comic/540156/链接。但并不是第一章漫画的接口,而是查看第一话的接口。因为只有一个/web/comic/540156/链接,因此起源这一章节的链接可能为动态添加上得到链接。
在element中查找/web/comic/540156/,有两个herf属性为/web/comic/540156/链接
找到章节名,起源外面的span标签与源码中的span标签对应,那span标签外的a标签
<a href="javascript:void(0);" target="">,在herf标签中加入javascript:void(0),意为:点击不发生任何跳转或事件。void,无返回值;0为赋予的形参,javascript:意为javascript的代码。点击调用void的函数,不发生任何事件。但是点击浏览器中的起源,会发生跳转。
当在页面中存在,但在源码中不存在的链接通常使用js代码动态生成。此行代码为当前互联网上常用的反爬手段。如果想要获取信息一定要有解析js代码的能力。因为章节id不可以凭空捏造,若为凭空捏造,那么发送给服务器,服务器不会理解意思,所以一定是有迹可循的,通常来说章节id为一个固定值,方便在数据库中查找数据。因此寻找章节id生成的位置。
双击引号部分,为可编辑状态,就可以复制章节id。
第一章 的章节id为/web/comic/540156/中的540156,使用全局搜索540156,有两条信息。因为
页面源码中还有一各位置有第一章的链接。
第二章 的章节id为/web/comic/542974/中的542974,使用全局搜索542974,只有一条信息
ctrl+F在请求中查找,很多情况下,(章节id)是通过本地js文件生成。全局搜索将本地的js文件以及网页上获取的js文件都找到。