python小技巧之批量抓取美女图片

时间:2022-09-16 17:25:58 

其中用到urllib2模块和正则表达式模块。下面直接上代码:

[/code]
#!/usr/bin/env python
#-*- coding: utf-8 -*-
#通过urllib(2)模块下载网络内容
import urllib,urllib2,gevent
#引入正则表达式模块,时间模块
import re,time
from gevent import monkey

monkey.patch_all()

def geturllist(url):
    url_list=[]
    print url      
    s = urllib2.urlopen(url)
    text = s.read()
    #正则匹配,匹配其中的图片
    html = re.search(r'<ol.*</ol>', text, re.S)
    urls = re.finditer(r'<p><img src="(.+?)jpg" /></p>',html.group(),re.I)
    for i in urls:
        url=i.group(1).strip()+str("jpg")
        url_list.append(url)
    return url_list

def download(down_url):
    name=str(time.time())[:-3]+"_"+re.sub('.+?/','',down_url)
    print name
    urllib.urlretrieve(down_url, "D:\\TEMP\\"+name)

def getpageurl():
    page_list = []
    #进行列表页循环
    for page in range(1,700):
        url="http://jandan.net/ooxx/page-"+str(page)+"#comments"
        #把生成的url加入到page_list中
        page_list.append(url)
    print page_list
    return page_list
if __name__ == '__main__':
    jobs = []
    pageurl = getpageurl()[::-1]
    #进行图片下载
    for i in pageurl:
        for (downurl) in geturllist(i):
            jobs.append(gevent.spawn(download, downurl))
    gevent.joinall(jobs)
[/code]

程序不长才45行,不是太难,大家可以研究下,这里我只是抛砖引玉,大家可以根据原理开发出其他的抓取程序,呵呵,自己想去吧。。。我就不多说了~~

标签:python,抓取,美女图片
0
投稿

猜你喜欢

  • asp实现本周的一周时间列表的代码

    2011-04-06 10:45:00
  • django1.11.1 models 数据库同步方法

    2024-01-19 11:12:47
  • oracle中的ID号实现自增长的方法

    2024-01-13 13:27:26
  • ASP图片分页代码 (通用)

    2009-06-22 12:57:00
  • Python实现的RSS阅读器实例

    2021-11-21 14:46:49
  • uniapp引入模块化js文件和非模块化js文件的四种方式

    2024-04-30 10:23:04
  • 什么是SVG(可升级矢量图形)

    2008-05-06 12:37:00
  • 基于微信小程序实现透明背景人像分割功能

    2024-06-05 09:34:50
  • python去除列表中的空值元素实战技巧

    2023-12-08 12:16:06
  • js清空form表单中的内容示例

    2023-08-23 16:22:02
  • 在python3.64中安装pyinstaller库的方法步骤

    2022-08-12 10:27:05
  • Python实现贪吃蛇小游戏(单人模式)

    2023-09-26 23:14:42
  • python实现简易连点器

    2021-11-18 16:05:39
  • vue3.0使用mapState,mapGetters和mapActions的方式

    2023-07-02 16:49:56
  • vue 解决兄弟组件、跨组件深层次的通信操作

    2024-05-09 15:12:55
  • 互联网产品设计师职业生涯

    2009-04-20 20:41:00
  • 适合后台管理系统开发的12个前端框架(小结)

    2023-08-29 02:11:14
  • Pytorch模型定义与深度学习自查手册

    2023-02-11 18:30:27
  • node.js实现BigPipe详解

    2024-05-05 09:22:17
  • 对DJango视图(views)和模版(templates)的使用详解

    2021-05-30 00:37:51
  • asp之家 网络编程 m.aspxhome.com