`

python抓取网页图片示例(python爬虫)

 
阅读更多
#!/usr/bin/python
#-*- encoding: utf-8 -*-

import urllib2
import urllib
import re
import time
import os
import uuid

#获取二级页面url
def findUrl2(html):
    re1 = r'http://tuchong.com/\d+/\d+/|http://\w+(?<!photos).tuchong.com/\d+/'
    url2list = re.findall(re1,html)
    url2lstfltr = list(set(url2list))
    url2lstfltr.sort(key=url2list.index)
    #print url2lstfltr
    return url2lstfltr

#获取html文本
def getHtml(url):
    html = urllib2.urlopen(url).read().decode('utf-8')#解码为utf-8
    return html

#下载图片到本地
def download(html_page , pageNo):
    #定义文件夹的名字
    x = time.localtime(time.time())
    foldername = str(x.__getattribute__("tm_year"))+"-"+str(x.__getattribute__("tm_mon"))+"-"+str(x.__getattribute__("tm_mday"))
    re2=r'http://photos.tuchong.com/.+/f/.+\.jpg'
    imglist=re.findall(re2,html_page)
    print imglist
    download_img=None
    for imgurl in imglist:
        picpath = '/home/%s/%s'  % (foldername,str(pageNo))
        filename = str(uuid.uuid1())
        if not os.path.exists(picpath):
            os.makedirs(picpath)
        target = picpath+"/%s.jpg" % filename
        print "The photos location is:"+target
        download_img = urllib.urlretrieve(imgurl, target)#将图片下载到指定路径中
        time.sleep(1)
        print(imgurl)
    return download_img

# def callback(blocknum, blocksize, totalsize):
#     '''回调函数
#     @blocknum: 已经下载的数据块
#     @blocksize: 数据块的大小
#     @totalsize: 远程文件的大小
#     '''
#     print str(blocknum),str(blocksize),str(totalsize)
#     if blocknum * blocksize >= totalsize:
#         print '下载完成'
def quitit():
    print "Bye!"
    exit(0)

if __name__ == '__main__':
    print '''            *****************************************
            **    Welcome to Spider for TUCHONG    **
            **      Created on 2014-4-24           **
            **      @author: Leon Wong             **
            *****************************************'''
    pageNo = raw_input("Input the page number you want to scratch (1-100),please input 'quit' if you want to quit>")
    while not pageNo.isdigit() or int(pageNo) > 100 :
        if pageNo == 'quit':quitit()
        print "Param is invalid , please try again."
        pageNo = raw_input("Input the page number you want to scratch >")

    #针对图虫人像模块来爬取
    html = getHtml("http://tuchong.com/tags/%E4%BA%BA%E5%83%8F/?page="+str(pageNo))

    detllst = findUrl2(html)
    for detail in detllst:
        html2 = getHtml(detail)
        download(html2,pageNo)
    print "Finished."

 

分享到:
评论

相关推荐

    Python实现抓取网页生成Excel文件的方法示例

    本文实例讲述了Python实现抓取网页生成Excel文件的方法。分享给大家供大家参考,具体如下: Python抓网页,主要用到了PyQuery,这个跟jQuery用法一样,超级给力 示例代码如下: #-*- encoding:utf-8 -*- import sys...

    python简单爬虫抓取网页内容实例

    一个简单的python示例,实现抓取 嗅事百科 首页内容 ,大家可以自行运行测试

    Python之多线程爬虫抓取网页图片的示例代码

    那么请使用python语言,构建一个抓取和下载网页图片的爬虫。 当然为了提高效率,我们同时采用多线程并行方式。 思路分析 Python有很多的第三方库,可以帮助我们实现各种各样的功能。问题在于,我们弄清楚我们需要...

    一个简单的 Python 爬虫系统示例.zip

    这个分享包涵了我开发的Python爬虫工具项目,主要用于合法爬取某些网页信息。以下是主要内容: 源代码:包括Python代码和相关脚本。这些代码展示了如何使用Python进行网页抓取、解析和数据提取。 项目文件:除了...

    用Python实现的网络爬虫示例.zip

    这个分享包涵了我开发的Python爬虫工具项目,主要用于合法爬取某些网页信息。以下是主要内容: 源代码:包括Python代码和相关脚本。这些代码展示了如何使用Python进行网页抓取、解析和数据提取。 项目文件:除了...

    Python爬虫 视频弹幕提取过程

    Python爬虫 视频弹幕提取过程,通过示例代码介绍的非常详细,需要的朋友可以参考下

    python爬虫抓取英雄联盟人物图片案例代码

    这是一个简单的Python代码示例,用于通过网页爬虫抓取英雄联盟(League of Legends)游戏中的人物图片。在这个示例中,我将使用requests库和BeautifulSoup库来实现网页数据的获取和解析。 这段代码会发起一个请求,...

    Python爬虫示例:基础网页内容抓取

    基础爬虫详细教学,适合新手入门学习使用,当你写爬虫代码思路乱,可以下载一个看看。整理一下思路。 注意: 本代码仅供学习和参考。 由于网页内容和结构可能随时间变化,本代码在未来可能需要调整才能正常运行。 ...

    Python3简单爬虫抓取网页图片代码实例

    主要介绍了Python3简单爬虫抓取网页图片代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

    python爬虫爬取新闻示例.zip

    爬虫通常由搜索引擎、数据挖掘工具、监测系统等应用于网络数据抓取的场景。 爬虫的工作流程包括以下几个关键步骤: URL收集: 爬虫从一个或多个初始URL开始,递归或迭代地发现新的URL,构建一个URL队列。这些URL...

    Python爬虫抓取指定网页图片代码实例

    主要介绍了Python爬虫抓取指定网页图片代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

    python抓取网页内容示例分享

    复制代码 代码如下:import socketdef open_tcp_socket(remotehost,servicename): s=socket.socket(socket.AF_INET,socket.SOCK_STREAM) portnumber=socket.getservbyname(servicename,’tcp’) s.connect((remote...

    Python爬虫实现抓取京东店铺信息及下载图片功能示例

    主要介绍了Python爬虫实现抓取京东店铺信息及下载图片功能,涉及Python页面请求、响应、解析等相关操作技巧,需要的朋友可以参考下

    Python爬虫示例.rar

    Python 爬虫示例; 抓取目标的描述和定义是决定网页分析算法与URL搜索策略如何制订的基础。而网页分析算法和候选URL排序算法是决定搜索引擎所提供的服务形式和爬虫网页抓取行为的关键所在。这两个部分的算法又是紧密...

    python 爬虫入门实例.docx

    爬虫python入门 爬虫python入门 Python爬虫,简而言之,就是使用Python编程语言来编写的网络爬虫程序。...总之,Python爬虫是一种强大的数据抓取工具,可以帮助我们高效地从互联网上获取所需的信息。 以下为爬虫示例

    python爬虫示例.zip

    Python爬虫源码大放送:抓取数据,轻松搞定! 想轻松抓取网站数据,却苦于技术门槛太高?别担心,这些源码将助你轻松搞定数据抓取,让你成为网络世界的“数据侠盗”。 它们还具有超强的实用价值。无论你是想要分析...

    Python实现爬虫抓取与读写、追加到excel文件操作示例

    主要介绍了Python实现爬虫抓取与读写、追加到excel文件操作,结合具体实例形式分析了Python针对糗事百科的抓取与Excel文件读写相关操作技巧,需要的朋友可以参考下

Global site tag (gtag.js) - Google Analytics