python菜鸟之暴走漫画

       学习python两个星期,看了些基础的知识,感觉记不住多少啊,脑子有点木。想找些涉及生活的有趣的程序练练手,巩固下各种模块和对象方法的知识。就无意发现了一个暴走漫画的爬虫程序,感觉不错,就自己跟着思路编,原作者用的是python3.3的,我的是python2.7,感觉还是有很多的不同的。跟着原作者的思路基础上,对各个方面有了新的认识,贴出来,为的是自己以后想翻阅相关知识的时候不用东翻西找的。

# -*- coding: gbk -*-
import os
import urllib2
import bs4
import urllib
#--------------创建文件夹----------------
path=os.getcwd()
path=os.path.join(path,'暴走漫画GIF')
if not os.path.exists(path):
    os.mkdir(path)
#---------------------------------------
page_sum=int(raw_input("想看多少页:"))
url="http://baozoumanhua.com/gif/month/"
for count in range(page_sum):
    req=urllib2.Request(url=url+'page/'+str(count+1))
    content=urllib2.urlopen(req).read()
    soup=bs4.BeautifulSoup(content)
    img_content=soup.findAll('img',attrs={'style':'width:460px'})
    url_list=[img['src'] for img in img_content]
    title_list=[img['alt'] for img in img_content]
    for j in range(len(title_list)):
        title_list[j]=title_list[j].encode('gbk')
    for i in range(len(url_list)):
        imgurl=url_list[i]
        filename=path+'\\'+title_list[i]+'.gif'
        print filename+"#来自于#"+str(imgurl)
        urllib.urlretrieve(imgurl,filename)

      先是对os模块不太熟悉,查阅资料。第一次使用自己曾经下了没有用过的BeautifulSoap,感觉确实比自己读网页源代码的爽。最后,遇到最恼火的就是编码问题了,以前对unicode,utf-8,gbk编码只知道点皮毛,只知道有汉字了,可以用这些编码,所以运行代码一直提示
      UnicodeDecodeError: 'ascii' codec can't decode byte 0xe4 in position 0: ordinal not in range(128)
      之后才明白其中的差异,原作者用的是utf-8的,我最后修改后发现用gbk的时候才不会出现乱码。有汉字的情况下一定要注意呀!悲惨的教训!感觉这个程序运行起来听有意思的,我之后还想做更多的修改,让它功能更强大吧。文章比较水,各位看看就好,勿喷啊~ 
                                   

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值