前言:
本文非常浅显易懂,可以说是零基础也可快速掌握。如有疑问,欢迎留言,笔者会第一时间回复。本文代码存于github
一、分析表情包网址
1、进入斗图啦网址,点击**“最新表情”**,再点击第二、第三页,得出规律如下:
第一页:www.doutula.com/photo/list/…
第三页:www.doutula.com/photo/list/…
第四页:www.doutula.com/photo/list/…
可以看出,page 的值跟点击的页数有关,因此,我们就拿到了要爬取的 url
2、打开检查元素,可以看到html源码
可以看出,每一页的图片都在 div 标签里面,然后每一个 a 标签包含一个图片,
我们要取到表情包,就是要取得 a 标签包含的图片 url,我们可以利用 xpath 语法。
二、实践
a、获取 img 标签取到的 img 有 gif 的信息,我们需要过滤掉imgs = html.xpath("//div[#class='page-content text-center'//img[@class != 'gif']")
b、接下来是获取图片的 url,上面的代码如下:
1 | 复制代码 for img in imgs: |
c、截取后缀,得到文件名,并保存
1 | 复制代码 alt = img.get('alt') # 获取图片名字 |
这样下来,就已经可以快速保存你所需要的表情包了,论斗图,谁比得过你
全部代码如下:
1 | 复制代码def parse_page(url): |
最终结果:
区区20几行代码,就可以造就一个斗图西方求败的你,赶快来行动吧!
当然,还可以更高级一点,就是利用多线程,异步进行爬取、下载,几秒钟就可以下载到上千张的表情包!相关代码,我也放到了 github ,需要的朋友自行去look look!
更多精彩内容,请关注公众号 “bigdeveloper”——程序员大咖秀
本文转载自: 掘金