• 技术文章 >后端开发 >Python教程

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

    2016-06-06 11:30:28原创469
    其中用到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'', text, re.S)
    urls = re.finditer(r'

    ',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行,不是太难,大家可以研究下,这里我只是抛砖引玉,大家可以根据原理开发出其他的抓取程序,呵呵,自己想去吧。。。我就不多说了~~

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:python 抓取 美女图片
    上一篇:Python高级应用实例对比:高效计算大文件中的最长行的长度 下一篇:Python学习笔记(一)(基础入门之环境搭建)
    20期PHP线上班

    相关文章推荐

    • 【活动】充值PHP中文网VIP即送云服务器• Python编码规范知识点整理• 完全掌握Python自动操作GUI之PyAutoGUI• 一文搞懂python中Tkinter的使用• 聊聊利用python怎么读取mat文件内容(matlab数据)• Python可视化总结之matplotlib.pyplot基本参数详解
    1/1

    PHP中文网