β

Python爬虫:暴走漫画上的GIF趣图

Jark's Blog 807 阅读

寒假里有心重新学习Python,本科小学期有用Python写过一个web应用,但忘的差不多了。现在想系统地学习Python,所以把 《Head First Python》 看完了。HeadFirst的书内容有趣且有实例贯穿,但是知识和技巧都打乱在各个章节中了,看完后对Python还是没有系统地了解。所以现在一边写爬虫一边看 《Dive into Python》 带着学习Python。

实现的第一个爬虫是抓取 暴走漫画 上的GIF趣图,方便离线观看。爬虫用的是 python3.3 开发的,主要用到了 urllib.request BeautifulSoup 模块。

注: BeautifulSoup 是第三方库,我使用的是 bs4 urllib2 在python3中被分配到了 urllib.request 中,文档中的原文如下。

Note: The urllib2 module has been split across several modules in Python 3 named urllib.request and urllib.error .

爬虫 源代码 如下:

# -*- coding: utf-8 -*-#---------------------------------------  #   程序:暴走漫画的GIF趣图爬虫#   版本: 0.1#   作者:WuChong#   日期:2014-01-27#   语言:Python 3.3 #   说明:能自定义下载页数,默认全部下载,未加多线程功能#---------------------------------------import urllib.requestimport bs4,ospage_sum = 1  #设置下载页数path = os.getcwd()path = os.path.join(path,'暴走GIF')if not os.path.exists(path):    os.mkdir(path)                                  #创建文件夹url = "http://baozoumanhua.com/gif/month/page/"     #url地址headers = {                                         #伪装浏览器    'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko)'                 ' Chrome/32.0.1700.76 Safari/537.36'}for count in range(page_sum):    req = urllib.request.Request(        url = url+str(count+1),        headers = headers    )    print(req.full_url)    content = urllib.request.urlopen(req).read()    soup = bs4.BeautifulSoup(content)                   # BeautifulSoup    img_content = soup.findAll('img',attrs={'style':'width:460px'})    url_list = [img['src'] for img in img_content]      #列表推导 url    title_list = [img['alt'] for img in img_content]    #图片名称    for i in range(url_list.__len__()) :        imgurl = url_list[i]        filename = path + os.sep +title_list[i] + ".gif"        print(filename+":"+imgurl)                         #打印下载信息        urllib.request.urlretrieve(imgurl,filename)        #下载图片

在第15行可以修改下载页数,将此文件保存为 baozougif.py ,使用命令 python baozougif.py 运行后在同目录下会生成「暴走GIF」的文件夹,所有的图片会自动下载到该目录中。

这些GIF都特有意思,我选了一些分享到了百度云,有意者可以去 下载 ,真乃居家旅行、调节心情之必备良品!

用 python3.3 实现的爬虫,主要爬取暴走漫画上的GIF趣图。方便地下载很有意思的gif以便离线观看。主要用到了 urllib.request 和 BeautifulSoup 模块。
作者:Jark's Blog
当你的才华还撑不起你的野心时,你就应该静下心来学习。
原文地址:Python爬虫:暴走漫画上的GIF趣图, 感谢原作者分享。