python网络爬虫最细致讲解之漫画抓取【细!!!】 您所在的位置:网站首页 所有漫画免费的网络形式的漫画 python网络爬虫最细致讲解之漫画抓取【细!!!】

python网络爬虫最细致讲解之漫画抓取【细!!!】

2024-07-13 01:18| 来源: 网络整理| 查看: 265

从第二行开始分析 2. 首先明确,为什么出现#comic img?我们来看一下这张图片: 总览图在这里插入图片描述 细节图 不急,我们来慢慢分析,以后的网页都可以这样分析处理。首先看这里: 在这里插入图片描述 当光标移动到这里,我们看控制台显示: 在这里插入图片描述 开始分析,这个图片,在一个< div>标签里面,表明这里是一个分区,换句话说,就是和其他部分分开了,看这个html的布局也可以看出来。 其次,重点在于,这个< div>的id=“comic”,并且图像处于标签< img>中,属性标签设置知道了,我就可以在select里面,用选择器来选择‘#comic img’,对图片,也就是我们要在这个页面抓取的信息进行非常精确的定位。(其他同理,以此类推) 3.4. 第三、四行就是在没有抓取到信息时,在程序中作出相应的回应,提高程序的健壮性。(这里就不赘述了哈) 5. else: 也就是,我们的comicElem接收到了返回值的时候,开始应对! 6. 我们来看看comicElem里面有什么?或许可以加深大家的理解:(上图) 在这里插入图片描述 我改了一下代码,可以看到,这个列表里面只有一个元素。那就是关于< img>的网页信息 在这里插入图片描述 参考一下原网页代码:(看看是不是?蓝色部分) 在这里插入图片描述 好,我们继续,现在对比三个(上图) 在这里插入图片描述 在这里插入图片描述 可以看到comicElem[0].get(‘src’),提取了src的字符串,用于下一步的赋值。 在这里插入图片描述 换句话说,这里的print(type(comicElem))显示为,你可以根据自己的需要,筛选你想要抓取的元素,以此应对各种复杂的网页抓取,能够这样分析,相信会解决很多难以处理的网络抓取。(print(comicElem[0].get(‘alt’)) 得到了Barrel - Part 1,确实正确,也表明思路正确) 7. 输出信息 8.9. res=requests.get(comicUrl)【特别注意一下,comicUrl需要加一个‘http’头,通过网页html代码和IDLE返回值,清晰可见,comicUrl里面没有‘http’头】 res.raise_for_status() #检查连接 10.11.12.13. imageFile=open(os.path.join(‘xkcd’,os.path.basename(comicUrl)),‘wb’) 把下载的文件开始准备写入文件夹(先打开) for chunk in res.iter_content(100000): imageFile.write(chunk) imageFile.close() 关闭文件 14.因为我们下载好一个,需要去下载上一张图片,所以关键在于,我们的当前图片中,存在着上一个图片的信息:(上图分析) 在这里插入图片描述 在这里插入图片描述 我们可以看到,用选择器来说选择< a>标签中,rel属性为"prev"的部分,利用这个< a>元素的href属性去取得前一张图片的URL 15. url=‘http://xkcd.com’+prevLink.get(‘href’)中,加上页头“http:”再连接prevLink.get(‘href’),并且继续循环,直到第一张图片的prev=‘#’,结束所有操作,也就是下载结束啦! 16. 结束所有操作,print(‘Done.’)



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有