iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python多线程下载图片
  • 773
分享到

python多线程下载图片

多线程下载图片python 2023-01-31 01:01:07 773人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

功能:从p_w_picpath.baidu.com自动翻页下载图片的python程序 用法:运行程序后,输入关键字即可 #!/usr/bin/Python # filename: getbaidupic.py&

功能:从p_w_picpath.baidu.com自动翻页下载图片的python程序
用法:运行程序后,输入关键字即可
#!/usr/bin/Python
# filename: getbaidupic.py
# description: get p_w_picpaths from p_w_picpath.baidu.com
# author: cjcse
# version: v 0.21
import urllib
import htmllib
import fORMatter
import string
import os
import sys
import time
import thread
#import threading
class Parser(htmllib.HTMLParser):
#return a dictionary mapping anchor texts to lists of associated hyperlinks
def __init__(self, verbose=0):
self.anchors = {}
f = formatter.NullFormatter()
htmllib.HTMLParser.__init__(self, f, verbose)
def anchor_bgn(self, href, name, type):
self.save_bgn()
self.anchor = href
def anchor_end(self):
text = string.strip(self.save_end())
if self.anchor and text:
self.anchors[text] = self.anchors.get(text, []) + [self.anchor]
def GetJpg(url):
try:
global save
global total
global successed
global failed
total += 1
seps = url.split("/")
size = len(seps)
name = seps[size-1]
name = save + "\\" + name
i = 1
list = name.split(".")
while os.path.exists(name):
if len(list) == 2:
name = list[0] + "_" + repr(i) + "." + list[1]
else:
name = list[0] + "_" + repr(i)
i += 1
dat = urllib.urlopen(url).read()
if len(dat) < 11024:
print url + "\t[Failed]"
return
op = open(name, "wb")
if not op:
print url + "\t[Failed]"
exit()
op.write(dat)
op.close()
print url + "\t[OK]"
except:
print url + "\t[Failed]"
def GetBaiduNextPage(url):
global pn
url += "&rn=" + repr(rn) + "&pn=" + repr(pn) + "&ln=" + repr(ln)
pn += 18
return url
def GetAllJpg(url):
html = urllib.urlopen(url).read()
p = Parser()
p.feed(html)
p.close()
cnt = 0
for k, v in p.anchors.items():
for uri in v:
if uri.find(".jpg") != -1:
ls = uri.split("&")
for st in ls:
url2 = st.split("=")
for st2 in url2:
st2 = string.lower(st2)
if string.find(st2, "Http://") != -1 and string.find(st2, ".jpg") != -1:
try:
GetJpg(st2)
except:
continue
print "---------------------------------------------------------------------"
print "Description: Get p_w_picpaths from p_w_picpath.baidu.com. "
print "Author: cjcse from CU."
print "version: v 0.2."
print "---------------------------------------------------------------------"
str = raw_input("Input your keyWords: ")
while (len(str) == 0):
str = raw_input("Keyword: ")
url = "http://p_w_picpath.baidu.com/i?ct=201326592&cl=2&lm=-1&tn=baidup_w_picpath&pv=&word=" + str + "&z=5"
try:
if not os.path.exists("c:\\p_w_picpath_baidu"):
os.mkdir("c:\\p_w_picpath_baidu")
except:
print "Failed to create directory in disk c:"
exit()
pages = 50
save = "c:\\p_w_picpath_baidu"
print "The p_w_picpaths will be stored in folder \"c:\\p_w_picpath_baidu\"."
rn = 21
pn = 18
ln = 2000
for i in range(0, pages):
thread.start_new_thread(GetAllJpg,(url,))
url = GetBaiduNextPage(url)
while True:
pass

--结束END--

本文标题: python多线程下载图片

本文链接: https://www.lsjlt.com/news/184794.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python多线程下载图片
    功能:从p_w_picpath.baidu.com自动翻页下载图片的python程序 用法:运行程序后,输入关键字即可 #!/usr/bin/python # filename: getbaidupic.py&...
    99+
    2023-01-31
    多线程 下载图片 python
  • 利用Python多线程实现图片下载器
    目录导语开发工具环境搭建原理简介效果展示导语 之前有很多小伙伴说想学习一下多线程图片下载器,虽然好像已经过去很久了,不过还是上来安排一波吧。至于题目为什么说是构建一个小型数据集,因为...
    99+
    2024-04-02
  • Python 多线程并发下载图片 保姆级教程
    有时候,下载大量图像需要几个小时——让我们来解决这个问题我明白了——你已经厌倦了等待你的程序下载图像。有时我必须下载数千张图像需要几个小时,而且你不可能一直等待你的程序完成下载这些愚蠢的图像。你有很多重要的事情要做。让我们构建一个简单的图像...
    99+
    2023-05-17
    多线程并发 下载图片 高效
  • 如何使用Python进行多线程并发下载图片
    这篇文章主要介绍“如何使用Python进行多线程并发下载图片”,在日常操作中,相信很多人在如何使用Python进行多线程并发下载图片问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何使用Python进行多线程...
    99+
    2023-07-04
  • python下载图片
    在diveintopython网站上,http://diveintopython.org/html_processing/extracting_data.html可以找到一些html处理的例子,比如这个类可以用来获取html页面中的hre...
    99+
    2023-01-31
    下载图片 python
  • python 下载图片(urllib)
    下载图片利用urlib库中的urlretrieve函数import urllib imgurl = "http://ww1.sinaimg.cn/bmiddle/9150e4e5ly1fgo6vvwz5bj20i50fltam.jpg"#把...
    99+
    2023-01-31
    下载图片 python urllib
  • Java commons io包实现多线程同步图片下载入门教程
    目的: 实现多线程同时下载网络图片,入门级。 多线程入门 commons io: 是针对开发IO流功能的工具类库,其中包含了许多可调用的函数。 1.commons io 可直接百度,...
    99+
    2024-04-02
  • Python 实现多线程文件下载
    #!/root/.pyenv/shims/python # -*- coding: UTF-8 -*- import sys import requests import threading import datetime #传入的命令行参...
    99+
    2023-01-31
    多线程 文件 Python
  • Java中多线程下载图片并压缩能提高效率吗
    目录前言实现思路实测前言 需求 导出Excel:本身以为是一个简单得导出,但是每行得记录文件中有一列为图片url,需要下载所有记录行对应得图片,然后压缩整个文件夹。 这里只做4....
    99+
    2024-04-02
  • python多线程怎么下载多个文件
    在Python中,可以使用threading模块来实现多线程下载多个文件。下面是一个简单的示例代码,用于同时下载多个文件: impo...
    99+
    2024-04-02
  • Java中多线程下载图片并压缩能不能提高效率
    小编给大家分享一下Java中多线程下载图片并压缩能不能提高效率,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!前言需求 导出Excel:本身以为是一个简单得导出,但...
    99+
    2023-06-20
  • Java多线程下载网图的完整案例
    Java多线程下载网图案例 此案例依赖——文件操作工具类(FileUtils) 使用 apache 的commons-io包下的FileUtilsimportorg.apache.c...
    99+
    2024-04-02
  • Java多线程下载网图的示例分析
    小编给大家分享一下Java多线程下载网图的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!此案例依赖——文件操作工具类(FileUtils)使用 apache 的commons-io包下的FileUtilsimpor...
    99+
    2023-06-14
  • Python多线程如何下载有声小说
    这篇文章跟大家分析一下“Python多线程如何下载有声小说”。内容详细易懂,对“Python多线程如何下载有声小说”感兴趣的朋友可以跟着小编的思路慢慢深入来阅读一下,希望阅读后能够对大家有所帮助。下面跟着小编一起深入学习“Python多线程...
    99+
    2023-06-17
  • Python 批量下载图片示例
        使用Python find函数和urllib下载图片。A:#!/usr/bin/env python import time import urllib i = 0 url = ['']*10 name = ['']*10 con ...
    99+
    2023-01-31
    示例 批量 下载图片
  • Java Swing 多线程加载图片(保证顺序一致)
    大二的时候做的课程设计,图片管理器,当时遇到图片很多的文件夹,加载顺序非常慢。虽然尝试用多个Thread加载图片,却无法保证图片按顺序加载。直到今天学会了使用Callable接口和Future接口,于是心血来潮实现了这个功能。废话不多说,看...
    99+
    2023-05-30
    java swing 多线程
  • 用JavaScript下载图片
    可以使用JavaScript的`fetch`和`Blob`对象来下载图片。下面是一个例子:```javascriptfunction...
    99+
    2023-09-26
    Java
  • Android 实现单线程轮循机制批量下载图片
    Android 实现单线程轮循机制批量下载图片listview 在为item 添加从网上下载下来的图片时, 如果每次都整合一个item时都需要new一个Thread去下载图片,listview长时间滑动时会产生大量线程。用单线程轮循机制则可...
    99+
    2023-05-30
    android 单线程 下载图片
  • Python 下载图片的三种方法
    import os os.makedirs('./image/', exist_ok=True) IMAGE_URL = "/file/imgs/upload/202301/31/unaqmh5xl32.jpg" def urllib_...
    99+
    2023-01-31
    三种 下载图片 方法
  • python 批量下载网页里的图片
    import requestsimport sys,re#设置提取图片url 的正则表达式imgre = re.compile(r"<img id=\"imgis\" src='(.*)'")#存放找到的 图片url的列表all_i...
    99+
    2023-01-31
    批量 下载网页 图片
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作