百思不得姐图片同步下载

import requests
from lxml import etree
from urllib import request
import re
import os
import datetime
def parse_page(url):
domain = "http://www.budejie.com"
header = {"User-Agent": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:63.0) Gecko/20100101 Firefox/63.0"
}
response = requests.get(url,headers=header).text
html = etree.HTML(response)
links = html.xpath("//div[@class=‘j-r-list-c-img‘]//a/@href")
img_detail_urls = map(lambda url:domain+url,links)
#print(img_detail_urls)
return img_detail_urls

def get_img(url):
header = {"User-Agent": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:63.0) Gecko/20100101 Firefox/63.0"
}
response = requests.get(url,headers=header).text
html = etree.HTML(response)
img_url = html.xpath("//div[@class=‘j-r-list-c-img‘]//img/@src")[0]
#print(img_url)
img_title = html.xpath("//div[@class=‘j-r-list-c-img‘]//img/@title")[0]
img_title = re.sub(r‘[\??\.,。!1~【】\/]‘,‘‘,img_title)
suffix = os.path.splitext(img_url)[1]
#print(img_title)
file_name = img_title.strip()+suffix
request.urlretrieve(img_url,‘/home/yuyang/PycharmProjects/py3_spider/image/‘+file_name)
print("下载图片:{}".format(file_name))

delta_time = 0
def main():
global delta_time
for x in range(5,6):
start = datetime.datetime.now()
base_url = "http://www.budejie.com/pic/{}".format(x)
print("================开始下载第{}页====================".format(x))
img_urls = parse_page(base_url)
for img_url in img_urls:
#print(img_url)
get_img(img_url)
delta = (datetime.datetime.now() - start).seconds
delta_time += delta
print("================第{}页消耗时间{}秒==================".format(x, delta))
print("================下载完毕,共计耗时{}秒===============".format(delta_time))

if __name__ == ‘__main__‘:
main()

原文地址:http://blog.51cto.com/2143754/2308997

时间: 2024-10-14 17:00:30

百思不得姐图片同步下载的相关文章

网络数据的下载(NSUrlconnection异步下载和NSstring同步下载)和UI界面数据的刷新(都是抛弃第三方库的一些本质)

<1>NSString同步下载        //字符串的类方法,会根据url向服务器发起同步的数据请求,并将请求结果作为返回值    //同步请求数据,会对程序的UI主线程造成阻塞,用户体验极差 NSString *str = [NSString stringWithContentsOfURL:[NSURL URLWithString:kUrl] encoding:NSUTF8StringEncoding error:nil];    //json格式的数据 进行json解析 数据最外层是

自己动手写工具:百度图片批量下载器

开篇:在某些场景下,我们想要对百度图片搜出来的东东进行保存,但是一个一个得下载保存不仅耗时而且费劲,有木有一种方法能够简化我们的工作量呢,让我们在离线模式下也能爽爽地浏览大量的美图呢?于是,我们想到了使用网络抓取去帮我们去下载图片,并且保存到我们设定的文件夹中,现在我们就来看看如何来设计开发一个这样的图片批量下载器. 一.关于网络抓取与爬虫 网络蜘蛛的主要作用是从Internet上不停地下载网络资源.它的基本实现思想就是通过一个或多个入口网址来获取更多的URL,然后通过对这些URL所指向的网络资

Android 解决图片大量下载:软引用必须懂4点

Android 解决图片大量下载:软引用必须懂4点 可能对于Android开发者来说,软引用这个词有的会不是很熟悉,软引用在Java开发中用的比较多,但是,在Android开发中引用软引用,会给我们解决很多难题. AD: 1.对象的强.软.弱和虚引用 为了能更加灵活控制对象的生命周期,需要知道对象引用的4中级别,由高到低依次为 :强引用.软引用.弱引用和虚引用 备注: 这四种的区别: ⑴强引用(StrongReference) 强引用是使用最普遍的引用.如果一个对象具有强引用,那垃圾回收器绝不会

NSData的同步下载与NSConnection的同步下载

NSData 同步下载 NSString * path = @"http://10.0.100.8/sns/my/user_list.php"; //转网址对象 NSURL * url = [NSURL URLWithString:path]; //转Data NSData * data = [NSData dataWithContentsOfURL:url]; if (data) { id obj = [NSJSONSerialization JSONObjectWithData:d

python爬虫实战——5分钟做个图片自动下载器

python爬虫实战--图片自动下载器 制作爬虫的基本步骤 顺便通过这个小例子,可以掌握一些有关制作爬虫的基本的步骤. 一般来说,制作一个爬虫需要分以下几个步骤: 分析需求(对,需求分析非常重要,不要告诉我你老师没教你) 分析网页源代码,配合F12(没有F12那么乱的网页源代码,你想看死我?) 编写正则表达式或者XPath表达式(就是前面说的那个神器) 正式编写python爬虫代码 效果 运行: 恩,让我输入关键词,让我想想,输入什么好呢?好像有点暴露爱好了. 回车 好像开始下载了!好赞!,我看

【图文详解】python爬虫实战——5分钟做个图片自动下载器

python爬虫实战--图片自动下载器 之前介绍了那么多基本知识[Python爬虫]入门知识,大家也估计手痒了.想要实际做个小东西来看看,毕竟: talk is cheap show me the code! 制作爬虫的基本步骤 顺便通过这个小例子,可以掌握一些有关制作爬虫的基本的步骤. 一般来说,制作一个爬虫需要分以下几个步骤: 1. 分析需求(对,需求分析非常重要,不要告诉我你老师没教你) 2. 分析网页源代码,配合F12(没有F12那么乱的网页源代码,你想看死我?) 3. 编写正则表达式或

同步下载 异步下载

异步下载:支持应用程序在后台下载数据,在等待下载完成的过程中不会阻塞代码的运行 同步下载:调用一个方法的时候,如果该方法的返回依赖于它的功能是否完成,则称该方法为同步方法.必须下载完成才能进行下一步.会出现卡壳现象. 同步下载几种形式: NSURL *url=[NSURL URLWithString:@"http://www.baidu.com"]; 形式一: NSString *str=[NSString stringWithContentsOfURL:url encoding:NS

IOS开发-UI学习-根据URL显示图片,下载图片的练习(button,textfield,image view,url,data)

编写一个如下界面,实现: 1.在文本输入框中输入一个网址,然后点击显示图片,图片显示到UIImageView中. 2.点击下载,这张显示的图片被下载到手机的Documents文件夹下的Dowmload目录下,并按序号命名. 3.在文本框输入完成之后点击其他地方,键盘自动消失. 准备工作: 1.输入的URL有可能是http而非https,需要在Info.plist中添加如下代码: 1 <key>NSAppTransportSecurity</key> 2 <dict> 3

【Android进阶】使用HttpURLConnection实现图片的下载与现显示

虽然我们在开发中经常使用别人已经开发好的开源框架,但是,了解这些框架底层的实现,能够让我们更好的理解功能的实现. 这篇文章主要介绍使用HttpURLConnection对象,实现图片文件的下载,以及显示. 我们的思路是,首先使用HttpURLConnection实现图片文件的下载,在下载结束之后,使用handler异步的显示图片. 因为功能比较简单,我只把代码贴在下面,注释很详细 /** * 使用HttpURLConnection实现图片的下载与现显示 * * @author ZhaoKaiQi