#!/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抓网页,主要用到了PyQuery,这个跟jQuery用法一样,超级给力 示例代码如下: #-*- encoding:utf-8 -*- import sys...
一个简单的python示例,实现抓取 嗅事百科 首页内容 ,大家可以自行运行测试
那么请使用python语言,构建一个抓取和下载网页图片的爬虫。 当然为了提高效率,我们同时采用多线程并行方式。 思路分析 Python有很多的第三方库,可以帮助我们实现各种各样的功能。问题在于,我们弄清楚我们需要...
这个分享包涵了我开发的Python爬虫工具项目,主要用于合法爬取某些网页信息。以下是主要内容: 源代码:包括Python代码和相关脚本。这些代码展示了如何使用Python进行网页抓取、解析和数据提取。 项目文件:除了...
这个分享包涵了我开发的Python爬虫工具项目,主要用于合法爬取某些网页信息。以下是主要内容: 源代码:包括Python代码和相关脚本。这些代码展示了如何使用Python进行网页抓取、解析和数据提取。 项目文件:除了...
Python爬虫 视频弹幕提取过程,通过示例代码介绍的非常详细,需要的朋友可以参考下
这是一个简单的Python代码示例,用于通过网页爬虫抓取英雄联盟(League of Legends)游戏中的人物图片。在这个示例中,我将使用requests库和BeautifulSoup库来实现网页数据的获取和解析。 这段代码会发起一个请求,...
基础爬虫详细教学,适合新手入门学习使用,当你写爬虫代码思路乱,可以下载一个看看。整理一下思路。 注意: 本代码仅供学习和参考。 由于网页内容和结构可能随时间变化,本代码在未来可能需要调整才能正常运行。 ...
主要介绍了Python3简单爬虫抓取网页图片代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
爬虫通常由搜索引擎、数据挖掘工具、监测系统等应用于网络数据抓取的场景。 爬虫的工作流程包括以下几个关键步骤: URL收集: 爬虫从一个或多个初始URL开始,递归或迭代地发现新的URL,构建一个URL队列。这些URL...
主要介绍了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 爬虫示例; 抓取目标的描述和定义是决定网页分析算法与URL搜索策略如何制订的基础。而网页分析算法和候选URL排序算法是决定搜索引擎所提供的服务形式和爬虫网页抓取行为的关键所在。这两个部分的算法又是紧密...
爬虫python入门 爬虫python入门 Python爬虫,简而言之,就是使用Python编程语言来编写的网络爬虫程序。...总之,Python爬虫是一种强大的数据抓取工具,可以帮助我们高效地从互联网上获取所需的信息。 以下为爬虫示例
Python爬虫源码大放送:抓取数据,轻松搞定! 想轻松抓取网站数据,却苦于技术门槛太高?别担心,这些源码将助你轻松搞定数据抓取,让你成为网络世界的“数据侠盗”。 它们还具有超强的实用价值。无论你是想要分析...
主要介绍了Python实现爬虫抓取与读写、追加到excel文件操作,结合具体实例形式分析了Python针对糗事百科的抓取与Excel文件读写相关操作技巧,需要的朋友可以参考下