Python superbwallpapers 动漫分类 下载

动漫分类壁纸多线程下载,有Bug

# -*- coding: utf-8 -*-
import os,urllib2,re,urllib
from bs4 import BeautifulSoup
import socket
socket.setdefaulttimeout(25)      #in case of overtime:http://outofmemory.cn/code-snippet/16848/python-through-urllib-urlretrieve-file-setting-method
#another way:urllib.request.socket.setdefaulttimeout(20)
re_link = re.compile(r‘/anime/.{0,50}-\d{5}‘)
re_404 = re.compile(r‘Page not found - Please try some of the popular items below‘)
main_url = []
#main_url.append("http://www.superbwallpapers.com/anime/")
pic_page = []
pic_name = []
pic_url = []
pic_url_number =[]
end_page = 40
for each_page in range(end_page):
    main_url.append("http://www.superbwallpapers.com/anime/" + str(each_page + 1) + ".html")

    each_page += 1

print main_url

#how_many = 0
def one_page(main_url):
    #global how_many
    main_page_html = urllib2.urlopen(main_url).read()

    soup = BeautifulSoup(main_page_html,fromEncoding="gb18030")
    match_pic = []
    for link in soup.find_all(‘a‘):
        href = str(link.get(‘href‘))
        match = re_link.match(href)
        if match :
            #print match.group()
            match_pic.append(match.group())
    global pic_url_number
    global pic_page
    global pic_name
    global pic_url
    for i in range((len(match_pic)-1)/2):
        pic_page.append(‘http://www.superbwallpapers.com‘ + match_pic[i*2])
        pic_name.append(match_pic[i*2][7:])
        pic_url.append("http://cdn.superbwallpapers.com/wallpapers" + match_pic[i*2] + "-1920x1080.jpg")
        pic_url_number.append(x)

output = open(‘K://PIC/url.txt‘,‘w+‘)
for x in range(end_page):
    one_page(main_url[x])
    title = "K://PIC/" + str(x)
    if not os.path.isdir(title):
        os.mkdir(title)
output.write(str(pic_url))
output.close()
pic_number = 0
url_fail = []
import threading
how_many = 0
lock = threading.Lock()
#one_page(main_url[how_many])
class myThread (threading.Thread):
    def __init__(self, pic_url):
        threading.Thread.__init__(self)
        self.pic_url = pic_url

    def run(self):
        global pic_number
        global how_many
        print ‘%s acquire lock...‘ % threading.currentThread().getName()
        lock.acquire()

        print ‘%s get the lock.‘ % threading.currentThread().getName()
        o1 = pic_number

        pic_number += 1
        # 释放锁
        lock.release()
        print ‘%s release lock...‘ % threading.currentThread().getName()
        try:
            urllib.urlretrieve(pic_url[o1], "K://PIC/" + str(pic_url_number[o1])+ "/" + str(pic_name[o1]) + ".jpg")
        #detail:http://www.nowamagic.net/academy/detail/1302861
        except:  #except socket.timeout as e:
            try:
                urllib.urlretrieve(pic_url[o1], "K://PIC/" + str(pic_url_number[o1])+ "/" + str(pic_name[o1]) + ".jpg")
            except:
                global url_fail
                url_fail.append(pic_url[o1])
                url_fail.append(pic_url_number[o1])
                print "-----socket timout-----,record..."
        print "Picture " + str(pic_name[o1]) + " Downloaded"   

def start_new_thread():
    thread = myThread(pic_url)
    thread.start()
while pic_number <= len(pic_url):
    if threading.activeCount() < 7:
        start_new_thread()

时间: 2024-10-25 00:12:54

Python superbwallpapers 动漫分类 下载的相关文章

从Excel到Python——数据分析进阶指南 PDF 下载(高清版)PDF

从Excel到Python--数据分析进阶指南 PDF 下载(高清版)PDF百度网盘链接:https://pan.baidu.com/s/1cKksjlnOq6OLjUFJc3JHYA 提取码:3y05 复制这段内容后打开百度网盘手机App,操作更方便哦Excel是数据分析中最常用的工具,本书通过Python与Excel的功能对比介绍如何使用Python通过函数式编程完成Excel中的数据处理及分析工作.在Python中pandas库用于数据处理,我们从1787页的pandas官网文档中总结出最

爬虫2.4-scrapy框架-图片分类下载

目录 scrapy框架-图片下载 1 传统下载方法: 2 scrapy框架的下载方法 3 分类下载完整代码 scrapy框架-图片下载 python小知识: map函数:将一个可迭代对象的每个值,依次交给一个函数处理,返回一个生成器. urls = uibox.xpath(".//ul/li/a/img/@src").getall() urls = list(map(lambda url: 'https:'+url, urls)) urls本身是一个列表,使用map函数,将urls中的

Python实战:美女图片下载器,海量图片任你下载

Python应用现在如火如荼,应用范围很广.因其效率高开发迅速的优势,快速进入编程语言排行榜前几名.本系列文章致力于可以全面系统的介绍Python语言开发知识和相关知识总结.希望大家能够快速入门并学习Python这门语言. 本文是在前一部分Python基础之上Python实战:Python爬虫学习教程,获取电影排行榜,再次升级的Python网页爬虫实战课程. 1.项目概述. 利用XPath和requests模块进行网页抓取与分析,达到网页图片下载的效果. 抓爬图片地址:http://www.2c

用python实现的百度音乐下载器-python-pyqt-改进版

之前写过一个用python实现的百度新歌榜.热歌榜下载器的博文,实现了百度新歌.热门歌曲的爬取与下载.但那个采用的是单线程,网络状况一般的情况下,扫描前100首歌的时间大概得到40来秒.而且用Pyqt做的界面,在下载的过程中进行窗口操作,会出现UI阻塞的现象. 前两天有时间调整了一下,做了几方面的改进: 1.修改了UI界面阻塞的问题,下载的过程中可以进行其它的UI操作; 2.爬虫程序采用一个主线程,8个子线程的方式快速爬取,网络状况一致的情况下,将扫描100首歌曲的时间提高到了8.9秒左右:(本

Python抓取网页&amp;批量下载文件方法初探(正则表达式+BeautifulSoup) (转)

Python抓取网页&批量下载文件方法初探(正则表达式+BeautifulSoup) 最近两周都在学习Python抓取网页方法,任务是批量下载网站上的文件.对于一个刚刚入门python的人来说,在很多细节上都有需要注意的地方,以下就分享一下我在初学python过程中遇到的问题及解决方法. 一.用Python抓取网页 基本方法: [python] view plaincopyprint? import urllib2,urllib url = 'http://www.baidu.com' req 

辛星亲自编写的11本Python资料,免积分下载,希望对大家有所帮助

这是自己花了半年左右的时间整理的一套Python的资料把,我都统一整理成pdf文档的格式,希望对大家有所帮助,如果没有帮助,都是免积分下载的奥.这里是我的Python专栏:点我去Python下载专栏 ,如果左边的地址崩溃了,那么可以在浏览器中输入http://download.csdn.net/album/detail/459 然后打开即可. 下面说一下这一套书都包含什么内容把,第一本是Python的入门教程,当时写的,现在看起来并不是那么好,我抽空写第二版把,第二本就是Python标准库的教程

让我们和python一起“动”起来

让我们和python一起"动"起来 在上文一切皆对象中提到了python的变量a,并且特地指出它还有个叫法:标签.其实无论是叫"变量"还是叫"标签"都没特定的要求,叫它"变量"只是延续之前的编程习惯,叫它"标签"则是由python的动态特性决定的. 在此就C语言的"变量"与python的"标签"作个比较.C语言的变量在使用前需要对变量进行类型声明,而python的标签

Python源码剖析 pdf下载

网盘下载:Python源码剖析 pdf下载 – 易分享电子书PDF资源网 作者: 陈儒 出版社: 电子工业出版社 副标题: 深度探索动态语言核心技术 出版年: 2008-6 页数: 480 定价: 69.80元 装帧: 平装 ISBN: 9787121068744 内容简介 · · · · · · 作为主流的动态语言,Python不仅简单易学.移植性好,而且拥有强大丰富的库的支持.此外,Python强大的可扩展性,让开发人员既可以非常容易地利用C/C++编写Python的扩展模块,还能将Pyth

Python爬虫获取图片并下载保存至本地的实例

今天小编就为大家分享一篇Python爬虫获取图片并下载保存在本地的实例,具有很好的参考价值,希望对大家有所帮助.一起来看看吧! 1.抓取煎蛋网上的图片 2.代码如下 * * * import urllib.request import os def url_open(url): req=urllib.request.Request(url) req.add_header('User-Agent','Mozilla/5.0 (Windows NT 6.3; WOW64; rv:51.0) Geck