-
编译器:pycharm社区版
-
python 版本:anaconda python3.7.4
-
浏览器选择:Google浏览器
需要用到的第三方模块:requests , lxml , selenium , time , bs4,os
- 明确目标
首先我们打开腾讯动漫首页,分析要抓取的目标漫画。
找到腾讯动漫的漫画目录页,简单看了一下目录,发现全站的漫画数量超过了三千部(感觉就是爬下来也会把内存撑爆)
于是我觉得爬取首页的推荐漫画会是一个比较好的选择(爬取全站漫画只需要稍稍改一下网址构造就可以做到了)
- 提取漫画地址
选定了对象之后,就应该想办法来搞到漫画的地址了
右击检查元素,粗略看一遍网页的源代码,这时我发现里面有很多连续的
标签,我猜测每部漫画的地址信息就存储在这些标签里面
随便打开一个《li》标签,点击里面包裹的链接地址会跳转到一个新的网页,这个网页正是我想要找的漫画地址,可以见得我的猜测是正确的,等到实际操作的时候再用表达式提取信息就非常容易了
- 提取漫画章节地址
进入漫画的目录页,发现一页最多可以展示20章的漫画目录,要想更换显示还需要点击章节名上面的选项卡来显示其他章节的地址
接下来就需要我们来检查网页元素想办法来获取章节地址了,同样右击检查元素
在看到了源代码后,我发现了一个非常惊喜的事情,这个源码里面包含这所有的章节链接,而不是通过动态加载来展示的,这就省去了我们提取其他章节链接的功夫,只需要花心思提取漫画图片就可以了
这里每个《p》标签下包含了五个《a》标签,每个《li》标签下包含了四个《p