python爬虫学习基础教程,批量抓取美女图片!

  python的抓取功能其实是非常强大的,当然不能浪费,呵呵。下面就与大家分享一个python写的美女图自动抓取程序吧!
 
  其中用到urllib2模块和正则表达式模块。下面直接上代码:
 
  1用python批量抓取美女图片
 
  2
 
  3#!/usr/bin/envpython
 
  4#-*-coding:utf-8-*-
 
  5#通过urllib(2)模块下载网络内容
 
  6importurllib,urllib2,gevent
 
  7#引入正则表达式模块,时间模块
 
  8importre,time
 
  9fromgeventimportmonkey
 
  10
 
  11'''
 
  12在学习过程中有什么不懂得可以加我的python学习交流扣扣qun,934109170,群里有不错的学习教程、开发工具与电子书籍。
 
  13与你分享python企业当下人才需求及怎么从零基础学习好python,和学习什么内容。
 
  14'''
 
  15monkey.patch_all()
 
  16
 
  17defgeturllist(url):
 
  18url_list=[]
 
  19printurl
 
  20s=urllib2.urlopen(url)
 
  21text=s.read()
 
  22#正则匹配,匹配其中的图片
 
  23html=re.search(r'<ol.*</ol>',text,re.S)
 
  24urls=re.finditer(r'<p><imgsrc="(.+?)jpg"/></p>',html.group(),re.I)
 
  25foriinurls:
 
  26url=i.group(1).strip()+str("jpg")
 
  27url_list.append(url)
 
  28returnurl_list
 
  29
 
  30defdownload(down_url):
 
  31name=str(time.time())[:-3]+"_"+re.sub('.+?/','',down_url)
 
  32printname
 
  33urllib.urlretrieve(down_url,"D:TEMP"+name)
 
  34
 
  35defgetpageurl():
 
  36page_list=[]
 
  37#进行列表页循环
 
  38forpageinrange(1,700):
 
  39url="http://jandan.net/ooxx/page-"+str(page)+"#comments"
 
  40#把生成的url加入到page_list中
 
  41page_list.append(url)
 
  42printpage_list
 
  43returnpage_list
 
  44if__name__=='__main__':
 
  45jobs=[]
 
  46pageurl=getpageurl()[::-1]
 
  47#进行图片下载
 
  48foriinpageurl:
 
  49for(downurl)ingeturllist(i):
 
  50jobs.append(gevent.spawn(download,downurl))
 
  51gevent.joinall(jobs)
 
  程序不长才45行,不是太难,大家可以研究下,这里我只是抛砖引玉,大家可以根据原理开发出其他的抓取程序,呵呵,自己想去吧。。