学习python中,写个爬虫小程序,基于2.7版本

代码源码贴在我的Github:https://github.com/qqxx6661/python/blob/master/gamerskyPic1.0.py

# -*- coding: utf-8 -*-
from __future__ import unicode_literals
import urllib
import urllib2
import re
import sys
import socketclass Tool:removeExtraTag = re.compile(r'_cke_saved_src="http.+?.jpg')def replace(self,x):x = re.sub(self.removeExtraTag,"",x)return x.strip()#strip()将前后多余内容删除class Spider:def __init__(self,siteURL):self.siteURL = siteURLdef getPage(self,pageIndex):if pageIndex == 1:url = self.siteURL + ".shtml"else:url = self.siteURL + "_" + str(pageIndex) + ".shtml" print '准备抓取:' + urlrequest = urllib2.Request(url)response = urllib2.urlopen(request)#print response.read()return response.read()def getPic(self,pageIndex):page = self.getPage(pageIndex)#imgre = re.compile(r'src="(http.+?.jpg)">')适合正常抓取imgre = re.compile(r'src="(http.+?.jpg)">')imglist = re.findall(imgre,page)print imglistimglist_clr = []for imgurl in imglist:imgurl_clr = tool.replace(imgurl)imglist_clr.append(imgurl_clr.encode('utf-8'))  #去除u'print '清洗多余字符完成'print imglist_clrx = 0for imgurl_clr in imglist_clr:print '正在保存第%s页的第%s张'%(pageIndex,x+1)urllib.urlretrieve(imgurl_clr,'picture_%s_%s.jpg' % (pageIndex,x+1))x+=1socket.setdefaulttimeout(5.0)   #设置全局超时5秒
tool=Tool()
print '请输入游民星空网址:'
inURL = raw_input()
inURL = inURL[:-6]  #去除.shtml
spider = Spider(inURL)
for x in range(1,20):try:spider.getPic(x)except urllib2.URLError,e:print e.codeprint '已经没有下一页了'break;
print '所有图片保存完毕'

之后会逐渐完善,比如保存至文件夹,超时自动重试,多线程等。

【python爬虫】游民星空福利和壁纸帖图片爬虫相关推荐

  1. python炫酷gui界面_python+tkinter+动画图片+爬虫(查询天气)的GUI图形界面设计

    importtimeimport urllib.request #发送网络请求,获取数据 import gzip #压缩和解压缩模块 import json #解析获得的数据 from tkinter ...

  2. [Python]爬取 游民星空网站 每周精选壁纸(1080高清壁纸) 网络爬虫

    一.检查 首先进入该网站的https://www.gamersky.com/robots.txt页面 给出提示: 弹出错误页面 注: 网络爬虫:自动或人工识别robots.txt,再进行内容爬取 约束 ...

  3. 从游民星空爬取每周壁纸

    从游民星空爬取每周壁纸 从游民星空爬取每周壁纸 1,新建一个Maven项目 2,HttpClientUtils工具类 2,DownLoadUtils 工具类 3,GameSkySpider爬虫 4,执 ...

  4. python如何爬取图片到指定文件夹论文_基于Python的图片爬虫程序设计

    互联网中包含大量有价值的 数据,网络爬虫通过既定规则可 以自动地抓取互联网数据并下载 至本地存储.研究网络爬虫的工 作原理和基于 Python 网络信息爬 取技术模块功能,基于 Requests- B ...

  5. python爬虫(2)爬取游民星空网的图片

    python 入门级别爬虫 目的:爬取游民星空的图片 前两天在游民星空看到几张美图,然后就想把它保存下来,但是一个一个的右键保存,太不爽了,身为一个程序源,一个码农,怎么能这么低级的保存呢? 然后最近 ...

  6. 写个python,爬行【游明星空】的壁纸(4)

    前文摘要/本文内容: 在上一篇文章中,我们已经成功的把每一期的链接爬行了下来,并且以txt记事本的形式存储到了本地.那么,是时候进行收尾工作,把壁纸都下载到本地了 页面分析: 首先,我们还是先打开一期 ...

  7. 写个python,爬行【游明星空】的壁纸(5)

    前文摘要/本文内容: 好的,我们已经把爬虫的脚本写出来了,写完之后,我们去执行,发现,实际上,在很多细节上,它并不是很好,正所谓,先实现产品功能,再做产品优化嘛,所以这一节,我们就分析一下,脚本都有哪 ...

  8. 用Scrapy抓取游民星空每周壁纸精选的图片

    很早之前就想抓一些壁纸,本人喜欢去看游民星空(一个主打游戏类的综合性网站).然后很早之前就眼馋它的每周壁纸了,所以这次就将该站的每周壁纸集合中的所有壁纸抓了一下(虽然有打包的可以下,但是还是想尝试一下 ...

  9. python爬虫--王者荣耀高清壁纸下载(多线程)

    下面的代码是采用多线程的生产者消费者模式,下载速度比之前文章的普通下载快一点. 普通下载的链接:python爬虫–王者荣耀高清壁纸下载 代码在下载方面是没有问题的,可以直接运行,就是在收集打不开链接的 ...

最新文章

  1. 【并查集】并查集的基本操作总结
  2. java jtextarea字体_java – 更改JTextArea中不同行的字体
  3. Python中单元测试出错了,会怎么样?
  4. CodeSmith 5.0工具实例篇系列4——根据表生成修改的存储过程,针对MS Sqlserver
  5. weblogic漏洞复现(CVE-2020-2555)
  6. golang依赖接口,不要依赖具体实现
  7. java中的容器问题
  8. Swift中viewWeb执行JS
  9. 用JSLint+Ant检验HTML代码
  10. 单例模式(七种实现方法)
  11. LaTeX (1)——LaTex环境的下载与安装(Tex live 2020+ Tex studio编辑器、 proTeXt(MiKTeX+TeXstudio编辑器))
  12. IDEA JetBrains Mono 字体安装
  13. paxos算法java实现_Paxos算法——前世
  14. Python描述 LeetCode 781. 森林中的兔子
  15. 如何降低计算机版本,苹果系统怎么降级到好用的老版本
  16. 计算机进入启动死循环,win7系统重装死循环一直反复关机重启的解决方法
  17. H Hash Function
  18. 靶机渗透----bulldog2
  19. 苹果手机进水屏幕乱跳怎么办
  20. 弱酸阳离子树脂去除硫酸锂溶液中的钙镁离子技术

热门文章

  1. Java压力测试工具--Apache JMeter的安装与使用
  2. 计算机专业轻薄本可以吗,轻薄笔记本电脑推荐,锐智系创造本不可“轻”视!...
  3. Nacos配置中心持久化到MySQL数据库(创建MySQL数据库、Nacos配置MySQL数据库连接、Nacos添加配置 )
  4. csrf攻击 java_Web常见攻击手段-CSRF攻击
  5. StarUML画时序图
  6. linux更换yum默认源为163源
  7. lambda表达式与匿名函数
  8. 如何在锐起无盘系统中设置所有工作禁止u盘的使用?
  9. 解决移动端浏览器 HTML 音频不能自动播放的三种方法
  10. 8.1-8.31推荐文章汇总