python爬虫.3.下载网页图片

目标,豆瓣读书,

下载页面书籍图片。

import urllib.request
import re                   #使用正则表达式

def getJpg(date):
    jpgList = re.findall(r‘(img src="http.+?.jpg")([\s\S]*?)(.+?.alt=".+?.")‘,date)
    return jpgList

def downLoad(jpgUrl,sTitle,n):
    try:
        urllib.request.urlretrieve(jpgUrl,            ‘C:\\Users\\74172\\source\\repos\\Python\\spidertest1\\images\\book.douban\\%s.jpg‘  %sTitle)
    except Exception as e:
        print(e)
    finally:
        print(‘图片%s下载操作完成‘ % n)  

def getTitle(date):
    titleList = re.findall(r‘title=".">‘,date)
    return titleList

if __name__ == ‘__main__‘:
    url = ‘https://book.douban.com/‘
    res = urllib.request.urlopen(url)
    date = res.read().decode(‘utf-8‘)
    date_jpg = getJpg(date)
    imageTitle = getTitle(date)
    global n
    n = 1
    for jpginfo in date_jpg:
        s = re.findall(r‘http.+?.jpg‘,str(jpginfo))
        print(n,‘--- url -->‘,str(s)[2:-2])
        sTitleInfo = re.findall(r‘alt=".+?."‘,str(jpginfo))
        sTitleL = re.findall(r‘".+?."‘,str(sTitleInfo))
        sTitle = str(sTitleL)[3:-3]
        downLoad(s[0],sTitle,n)
        n = n + 1

又做了点修改,并将书名写入txt文件中

import urllib.request
import re                   #使用正则表达式

def getJpg(html):
    jpgList = re.findall(r‘(img src="http.+?.jpg")([\s\S]*?)(.+?.alt=".+?.")‘,html)
    jpgList = re.findall(r‘http.+?.jpg‘,str(jpgList))
    return jpgList

def downLoad(jpgUrl,sTitle,n):
    try:
        urllib.request.urlretrieve(jpgUrl,            ‘C:/Users/74172/source/repos/Python/spidertest1/images/book.douban/%s.jpg‘  %sTitle)
    finally:
        print(‘图片---%s----下载操作完成‘ % sTitle)  

def getTitle(html):
    titleList = re.findall(r‘(img src="http.+?.jpg")([\s\S]*?)(.+?.alt=".+?.")‘,html)
    titleList = re.findall(r‘alt=".+?."‘,str(titleList))
    titleList = re.findall(r‘".+?."‘,str(titleList))
    return titleList

def writeTxt(imageTitle):
    try:
        #目录建立txt文件
        f = open((url[8:-5]+‘.txt‘),"a",encoding="utf-8")
        #写入
        f.write(imageTitle+‘\n‘)
    finally:
        if f:
            #关闭文件
            f.close()

if __name__ == ‘__main__‘:
    url = ‘https://book.douban.com/‘
    res = urllib.request.urlopen(url)
    html = res.read().decode(‘utf-8‘)
    urlJpgs = getJpg(html)
    imageTitle = getTitle(html)
    n = 0
    for urlJpg in urlJpgs:
        print(n,‘--- url -->‘,urlJpg)
        downLoad(urlJpg,imageTitle[n][1:-1],n)
        writeTxt(imageTitle[n][1:-1])
        n = n + 1

原文地址:https://www.cnblogs.com/protogenoi/p/8908309.html

时间: 2024-10-08 12:34:17

python爬虫.3.下载网页图片的相关文章

Python爬虫抓取网页图片

本文通过python 来实现这样一个简单的爬虫功能,把我们想要的图片爬取到本地. 下面就看看如何使用python来实现这样一个功能. # -*- coding: utf-8 -*- import urllib import re import time import os #显示下载进度 def schedule(a,b,c): ''''' a:已经下载的数据块 b:数据块的大小 c:远程文件的大小 ''' per = 100.0 * a * b / c if per > 100 : per =

[记录][python]python爬虫,下载某图片网站的所有图集

随笔仅用于学习交流,转载时请注明出处,http://www.cnblogs.com/CaDevil/p/5958770.html 该随笔是记录我的第一个python程序,一个爬去指定图片站点的所有图集,现在还是一个非常简陋的单线程程序.下一步是改写成多线程,虽然python多线程被诋毁得一塌糊涂.同时加上异常处理. 近来练习python程序,仿照别人的爬虫写一个自己的爬虫来练练手.在编写的过程中遇到各种问题,中文编码.请求不到html等问题.撰写该随笔的目的是将所遇到的问题记录下来,并提供相应的

Python爬虫爬取网页图片

没想到python是如此强大,令人着迷,以前看见图片总是一张一张复制粘贴,现在好了,学会python就可以用程序将一张张图片,保存下来. 今天逛贴吧看见好多美图,可是图片有点多,不想一张一张地复制粘贴,怎么办呢?办法总是有的,即便没有我们也可以创造一个办法. 下面就看看我今天写的程序: #coding=utf-8 #urllib模块提供了读取Web页面数据的接口 import urllib #re模块主要包含了正则表达式 import re #定义一个getHtml()函数 def getHtm

Python3简单爬虫抓取网页图片

现在网上有很多python2写的爬虫抓取网页图片的实例,但不适用新手(新手都使用python3环境,不兼容python2),所以我用Python3的语法写了一个简单抓取网页图片的实例,希望能够帮助到大家,并希望大家批评指正. 1 import urllib.request 2 import re 3 import os 4 import urllib 5 #根据给定的网址来获取网页详细信息,得到的html就是网页的源代码 6 def getHtml(url): 7 page = urllib.r

python爬虫爬取美女图片

python 爬虫爬取美女图片 #coding=utf-8 import urllib import re import os import time import threading def getHtml(url): page = urllib.urlopen(url) html = page.read() return html def getImgUrl(html,src): srcre = re.compile(src) srclist = re.findall(srcre,html)

python爬取基础网页图片

python基础爬虫总结 1.爬取信息原理 与浏览器客户端类似,向网站的服务器发送一个请求,该请求一般是url,也就是网址.之后服务器响应一个html页面给客户端,当然也有其他数据类型的信息,这些就是网页内容.我们要做的就是解析这些信息,然后选择我们想要的,将它爬取下来按要求写入到本地. 2. 爬虫基本流程 1.获取网页的响应的信息 这里有两个常用的方法 html = requests.get(url) return html.text 或者 html = urllib.request.urlo

python爬虫——爬取网页数据和解析数据

1.网络爬虫的基本概念 网络爬虫(又称网络蜘蛛,机器人),就是模拟客户端发送网络请求,接收请求响应,一种按照一定的规则,自动地抓取互联网信息的程序.只要浏览器能够做的事情,原则上,爬虫都能够做到. 2.网络爬虫的功能   图2 网络爬虫可以代替手工做很多事情,比如可以用于做搜索引擎,也可以爬取网站上面的图片,比如有些朋友将某些网站上的图片全部爬取下来,集中进行浏览,同时,网络爬虫也可以用于金融投资领域,比如可以自动爬取一些金融信息,并进行投资分析等. 有时,我们比较喜欢的新闻网站可能有几个,每次

Python 爬虫批量下载美剧 from 人人影视 HR-HDTV

本人比較喜欢看美剧.尤其喜欢人人影视上HR-HDTV 的 1024 分辨率的高清双字美剧,这里写了一个脚本来批量获得指定美剧的全部 HR-HDTV 的 ed2k下载链接.并依照先后顺序写入到文本文件,供下载工具进行批量下载.比方用迅雷.先打开迅雷,然后复制全部下载链接到剪切板,迅雷会监视剪切板来新建全部任务.假设迅雷没有自己主动监视,能够自己点击新建然后粘贴链接.Python源码例如以下.用的是Python3 : # python3 实现,以下的实例 3 部美剧爬完大概要 10 s import

c# 下载网页图片

也是比较老的东西了 最近用到 记录下以免以后忘了 要下载图片首先要有图片地址 要有图片地址就要先把网页下下来分析下URL 下载网页一般用两种方法 1,用 system.net.webclient using System.Net; using System.Windows.Forms; string url = "http://www.cnblogs.com"; string result = null; try { WebClient client = new WebClient()