python 入门级别爬虫

目的:爬取游民星空的图片

前两天在游民星空看到几张美图,然后就想把它保存下来,但是一个一个的右键保存,太不爽了,身为一个程序源,一个码农,怎么能这么低级的保存呢?

然后最近在学python,刚入门,然后就忍不住用python把图片都给抓下来了,哈哈,python就是这么顺手

话不多说,源码奉上:

# !/usr/bin/python
# -*- coding:UTF-8 -*-import urllib
import re#获取网页的函数
def getHtml(url):page = urllib.urlopen(url)html = page.read()return html#获取图片列表的函数,并对图片列表进行遍历,然后将图片存盘到本地
def getImg(html,count):
#    reg = r'"http.+?\.jpg'imgre = re.compile(r'src="(http.+?\.jpg)">')imglist = re.findall(imgre,html)x = 0for imgurl in imglist:urllib.urlretrieve(imgurl,'_picture_JM_%s_%s.jpg' % (x,count))x+=1#html = getHtml("http://tieba.baidu.com/p/2460150866")#html = getHtml("http://tieba.baidu.com/p/4537424378")if __name__ == "__main__":count = 0html = getHtml("http://www.gamersky.com/ent/201605/752759.shtml")getImg(html,count)count +=1for i in range(2,10):url = "http://www.gamersky.com/ent/201605/752759_%d.shtml" % (i)print "开始抓取",urlhtml1 = getHtml(url)count +=1getImg(html1,count)

输出log如下

开始抓取 http://www.gamersky.com/ent/201605/752759_2.shtml

开始抓取 http://www.gamersky.com/ent/201605/752759_3.shtml

开始抓取 http://www.gamersky.com/ent/201605/752759_4.shtml

开始抓取 http://www.gamersky.com/ent/201605/752759_5.shtml

开始抓取 http://www.gamersky.com/ent/201605/752759_6.shtml

开始抓取 http://www.gamersky.com/ent/201605/752759_7.shtml

开始抓取 http://www.gamersky.com/ent/201605/752759_8.shtml

开始抓取 http://www.gamersky.com/ent/201605/752759_9.shtml

最后爬到的图片如下:

声明:本文为博主原创,转载请注明出处----qiqiyingse_我是JM

源码下载:http://download.csdn.net/detail/qiqiyingse/9565053

Tips:想要抓取大图,就将正则表达式换一下吧,如下:

#imgre = re.compile(r'src="(http.+?\.jpg)">')

imgre = re.compile(r'href="http.+?\.shtml\?(http.+?\.jpg)">')

更新一版代码, 稍微修正一点点内容

修改了获取网页内容的方法,

修改了正则匹配的规则

修改了文件命名的方法

#!/usr/bin python
#--*-- coding:utf-8 --*--
import os
import urllib
import time
import urllib2
import HTMLParserimport urllib
import re#获取页面内容
def getHtml(url):        print u'start crawl %s ...' % url    headers = {'User-Agent':'Mozilla/5.0 (Windows NT 6.2; rv:16.0) Gecko/20100101 Firefox/16.0'}    req = urllib2.Request(url=url,headers=headers)    try:    html = urllib2.urlopen(req).read().decode('utf-8')    html=HTMLParser.HTMLParser().unescape(html)#处理网页内容, 可以将一些html类型的符号如" 转换回双引号      except urllib2.HTTPError,e:    print u"连接失败,错误原因:%s " % e.code    return None    except urllib2.URLError,e:    if hasattr(e,'reason'):    print u"连接失败,错误原因:%s " % e.reason    return None    return html  #获取图片列表的函数,并对图片列表进行遍历,然后将图片存盘到本地
def getImg(html,count):#reg = r'"http.+?\.jpg'#imgre = re.compile(r'src="(http.+?\.jpg)">')imgre = re.compile(r'href="http.+?\.shtml\?(http.+?\.jpg)">')imglist = re.findall(imgre,html)x = 0for imgurl in imglist:urllib.urlretrieve(imgurl,'Picture_Jimy_%s_%s.jpg' % (count,x))x+=1if __name__ == "__main__":print '''  *****************************************   **   Welcome to python of Image        **   **      Modify on 2017-05-09           **   **      @author: Jimy _Fengqi          **   *****************************************'''   count = 1html = getHtml("http://www.gamersky.com/ent/201605/752759.shtml")getImg(html,count)for i in range(2,10):url = "http://www.gamersky.com/ent/201605/752759_%d.shtml" % (i)print "开始抓取",urlhtml1 = getHtml(url)count +=1getImg(html1,count)

重新稍微整理了一下代码,添加上python3版本的内容,具体内容在github上:https://github.com/JimyFengqi/JimyFengqi_spider/tree/master/01_youminxingkong



python爬虫(2)爬取游民星空网的图片相关推荐

  1. Python爬虫基础--爬取王者荣耀英雄皮肤图片

    文章目录 思路分析 涉及到的知识点 Json数据说明 `herolist.json`:英雄列表 皮肤图片尺寸分析 程序说明 代码 结果(数据)分析 声明 这里只是简单介绍主要内容,详见github,仓 ...

  2. python扇贝单词书,学习猿地-python 爬虫,爬取扇贝单词网单词

    对于python爬虫并不是很熟悉,遇到下面的问题,希望知道的朋友可以给个解决问题的方向! 需要爬出扇贝单词网里面单词书的单词,现在对于没有目录的单词书可以爬出来,如果有一层目录就没办法了 需要手动到这 ...

  3. 【python爬虫】爬取淘宝网商品信息

    相信学了python爬虫,很多人都想爬取一些数据量比较大的网站,淘宝网就是一个很好的目标,其数据量大,而且种类繁多,而且难度不是很大,很适合初级学者进行爬取.下面是整个爬取过程: 第一步:构建访问的u ...

  4. python爬虫之爬取捧腹网段子

    原文链接:http://www.nicemxp.com/articles/12 背景:抓取捧腹网首页的段子和搞笑图片链接 如图: 地址:https://www.pengfu.com/ 首页中有很多子页 ...

  5. Python爬虫之爬取“天气后报网”的天气历史信息

    老规矩,先上代码: import re import requestsdef go_this_time(city,time):url = "http://www.tianqihoubao.c ...

  6. 【Python爬虫】爬取英雄联盟所有皮肤图片实现千图成像~

    前文 本文主要分为两个部分 一部分是爬虫,这边是选择爬取英雄联盟官网英雄资料中的英雄皮肤图片,如下为新英雄seraphine的页面,包含英雄对应的所有皮肤: 另一部分是图片的合成,先将所有英雄皮肤图片 ...

  7. Python爬虫:爬取今日头条“街拍”图片(修改版)

    前言 在参考<Python3网络爬虫开发实战>学习爬虫时,练习项目中使用 requests ajax 爬取今日头条的"街拍"图片,发现书上的源代码有些已经不适合现在了, ...

  8. Python爬虫,爬取百度小说网评论

    #网址如下 #https://yuedu.baidu.com/ebook/0ab2967333687e21ae45a937###import requests import time import x ...

  9. 爬虫案例爬取游民星空壁纸代码

    import requests import json import time import os import re path = "./壁纸/"headers = {'cook ...

最新文章

  1. 管道符和作业控制、shell变量、环境变量配置文件
  2. 虚拟化技术KVM的搭建
  3. 重庆市档案局(馆)数据备份一体机项目
  4. Oracle-知识结构漫谈
  5. IO流以及他们的种类区别 序列化反序列化 如何实现
  6. 通过stream去重_stream去重
  7. 硬核 | 亚洲诚信@FreeBuf企业安全俱乐部,实力诠释“S/MIME可信企业安全邮件解决方案”...
  8. 微信python课_微信课程提醒助手———python
  9. Bailian2675 计算书费【求和】
  10. Android图片完整性检验,Android安全测试之应用完整性校验检测
  11. Nova reboot 和 lock 操作 - 每天5分钟玩转 OpenStack(32)
  12. Expo大作战(四十一)【完】--expo sdk 之 Assets,BarCodeScanner,AppLoading
  13. java毕业生设计在线答题系统计算机源码+系统+mysql+调试部署+lw
  14. 产品经理——产品原型设计规范
  15. Greenplum 调优--数据分布法则 - 分布列与分区的选择
  16. rtsp直播流转m3u8
  17. Nodejs xlsx导出导出
  18. Android集成极光推送
  19. 计算机基础实验测试题第一章(悄悄变强秘籍)
  20. 鲁大师2022上半年手机报告:vivo斩获两个冠军,天玑9000超越骁龙8!

热门文章

  1. 从零开始写玩具操作系统(一)bochs配置
  2. 视觉SLAM⑫----建图(未完)
  3. NSGA-2源代码分析(1)源代码结构
  4. ul列表li标签前加带有颜色的圆点技巧
  5. 数据连接 3G ppp pppd
  6. WebGIS的认识及学习路线推荐!
  7. 手机APP测试中iOS和Android有何区别?
  8. ZCC1001E 100V 1.5A降压芯片
  9. 服务器硬盘恢复出厂设置,教大家Macbook如何恢复出厂设置的方法
  10. labview mysql库下载,(最新整理)LabVIEW与数据库的链接-精选资料