[Python爬虫] 爬取腾讯动漫遇到的坑(新人练手)

本文介绍了作者在使用Python爬取腾讯动漫网站时遇到的挑战,包括动态网页的分析、503错误、网址跳转问题以及正则表达式的调整。通过Selenium和requests库,作者实现了对漫画图片的抓取,并分享了处理错误跳转和保存图片的代码片段。
摘要由CSDN通过智能技术生成

本文参考了“[Python爬虫]使用Python爬取动态网页-腾讯动漫(Selenium)”——“http://www.sohu.com/a/225094990_491081”


首先进行第一步网页分析,腾讯动漫的网址很容易能看出规律,以《一人之下》为例; 进入该漫画的第一话与第二话:


http://ac.qq.com/ComicView/index/id/622439/cid/1

http://ac.qq.com/ComicView/index/id/622439/cid/2


最开始因为查看不了网页源代码,于是想到了抓包分析,不过后来第一个页面只抓到了三个图片网址,于是改用了控制台查看源代码,具体怎么操作参照第一行链接.

这个时候开始进行爬虫代码编写,在对第一页爬取就出现了503错误,随后对爬取得到的网址进行分析发现它与利用抓包工具抓取的有一些区别,也就说源代码中的网址并不是这些图片的真实地址:

    http://ac.tc.qq.com/store_file_download?buid=15017&uin=1439609736&dir_path=/&name=15_11_35_92855d1fc960f772d0096651eb5797e0_2224.ori

针对此产生的正则: lpat= 'img src="(http://ac.tc.qq.com/.*?&)amp;(.*?)amp;(dir_path=/&)amp;(.*?.jpg)'

在其中多了三个amp;

首先用1-10进行测试,此时没有问题,在此对图片地址利用正则进行提取,随后用对10-50页进行抓取,因为最开始是利用Charom进行网页动态获取,此时发现部分网页跳转到错误网页‘http://ac.qq.com/ComicView/index/1’,分析之后发现网址并不是按照漫画的话数依次跳转,会出现

http://ac.qq.com/ComicView/index/id/622439/cid/13’直接跳转到‘http://ac.qq.com/ComicView/index/id/622439/cid/16

这个时候本来想看这个跳转是否有规律,应该是没有的,

(因为昨天第二话是http://ac.qq.com/ComicView/index/id/622439/cid/2’ 今天却是‘http://ac.qq.com/ComicView/index/id/622439/cid/3?fromPrev=1’&#

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值