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行,不是太难,大家可以研究下,这里我只是抛砖引玉,大家可以根据原理开发出其他的抓取程序,呵呵,自己想去吧。。
如需转载,请注明文章出处和来源网址:http://www.divcss5.com/html/h54668.shtml