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

本文详细讲述了如何使用Python爬虫与BeautifulSoup结合,从XKCD漫画网站抓取漫画,包括下载网页、解析HTML结构、下载图片并跟踪 Prev 按钮。通过实例展示了如何处理动态加载的网页和保持连贯抓取过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

漫画抓取:python网络爬虫与html对应结合抓取讲解



在这里插入图片描述


前言

本次以漫画抓取为例,来一步一步结合浏览器后台与爬虫编程讲解,也可以延伸到应对其他不同的网页抓取


一、实现目的

首先说明一下本次抓取的网站:XKCD, 是一个流行的极客漫画网站。
首页url:http://xkcd.com/
但是其中的重点在于:它有一个“Prev”按钮,让用户导航到前面的漫画。
这就很关键了,直接影响到我们抓取漫画的连贯性,换句话说,我们下载完一个漫画之后,下面一个漫画的链接在同一个页面已经存在(整个系统沟通的重点所在
实现:下载这些XKCD网上的漫画。

二、开始旅程

1.明确思路

  • 得到起始的URL。
  • 利用 requests 模块下载页面。
  • 利用 Beautiful Soup 找到页面中漫画图像的 URL。
  • 一起逐步分析html的结构
  • 利用 iter_content()下载漫画图像,并保存到硬盘。
  • 找到前一张漫画的链接 URL,然后可以重复操作。

2.下载网页

#下载漫画
#! python3
import requests,os,bs4
os.chdir(r'C:\Users\LX\Desktop')
url='http://xkcd.com/'+input('enter number')+'/'
#url='http://xkcd.com/'
os.makedirs('xkcd',exist_ok=True)
while not url.endswith('#'):
    print('DownLoading page |%s...' %url)
    res=requests.get(url)
    res.raise_for_status()
    soup=bs4.BeautifulSoup(res.text,features='html.parser')

不急,我们一步一步来看
第三行开始
3. 导入相应的库requests,os,bs4(应该没有问题哈)
4. 确定我的目录(我用的是桌面哈)
5. 确定url,为什么后面有input()?请看下图分析:
可以看到,目前这一幅漫画的url是 https://xkcd.com/1/,意味着我们输入的input(),会直接决定我们下载下来的漫画是哪一个,甚至还决定我们下载下来的漫画数量。
比如我输入1,那就定位了这个页面,以此类推
在这里插入图片描述
6. 如果用这个,会下载所有漫画,因为没有指定嘛,很好理解的哈(如果觉得有问题可以提出来,我们再细讲哈)
7. 创建文件夹,exist_ok=True,即便存在,也不会报错
8. 当我点

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

い风花の雪栎

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值