本人也刚学,本帖水平含量不高,有什么问题请指教
想要编写一个爬虫,不管用什么语言最重要的都是先获取所需要的内容在网页中的位置,
就是说我们要获取到他的唯一标识,就比如根据标签的id或class,id和class获取的区别在于,id是唯一的,所以只会获取到一条数据,而class则不一样,一个页面可能会有多条class,
所以如果要根据class获取数据,你需要找到你所需要的数据在第几个class,当然除了根据id我们也可以根据标签名来获取,这个就更加宽泛了,接下来我们以爬取漫画为例,手把手写一个爬虫,手把手奥(明确暗示)
1.首先我们找到要爬取的漫画网站我这里以https://m.gufengmh8.com/为例,截图为搜索页面,可以看到网址为https://m.gufengmh8.com/search/?keywords=完美世界
keywords后面跟的就是要搜索的内容,然后我们获取url的方式就可以是这样
[Python] 纯文本查看 复制代码
2.然后我们开始对这个页面进行剖析,我们要获取的内容有哪些呢,在这里就不写太复杂,只爬取漫画名供用户选择就行,毕竟同名的漫画也不多嘛(其实就是太懒)
浏览器按f12进入代码调试,单击下图位置,然后可以看到class为itemBox,所以我们只需要获取到这个页面所有的class为itemBox的div,就可以获取每本漫画的所有信息,
在这里只取漫画名,再用小箭头点击漫画名,可以看到a标签下的就是要获取的漫画名,所以逻辑就清晰了,先获取class,然后遍历class获取到每个class中的itemTxt,然后再获取到itemTxt的第一个节点
然后现在我们的代码就变成这样
[Python] 纯文本查看 复制代码
执行后打印这样
[Python] 纯文本查看 复制代码
3.现在我们基本实现了搜索功能,这已经算是个简单爬虫了,之后让用户输入书籍序号,然后下载
我们随便点进去一本漫画,用之前的方式获取到id为chapter-list-1的ul包含了所有的章节,ul中的每一个li又包含一个a标签和span标签,分别是url和章节名,之后就可以继续写了
[Asm] 纯文本查看 复制代码
4.现在我们随便点入一个章节获取到漫画图片的位置
[Asm] 纯文本查看 复制代码
然后我们终于获取到了图片的src,但是还有个问题,他是分页的,所以。。
仔细钻研后发现如果当前页不存在时会显示这个图片,那我们就一直循环,直到获取的到的图片是这个时,结束循环,也就是这个样子↓
[Python] 纯文本查看 复制代码
5.然后我们获取到了所有的漫画图片src,现在就只需要把他下载下来了,先创建目录
[Python] 纯文本查看 复制代码
然后下载,很简单吧
[Python] 纯文本查看 复制代码
最后放出综合代码
[Python] 纯文本查看 复制代码
到这就结束了,不晓得有没有人会看我的文章呢,有没有呢,没有呢,有呢,呢~~~(明确暗示)