目标,豆瓣读书,

下载页面书籍图片。

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

python3爬虫.3.下载网页图片的更多相关文章

  1. Python3简单爬虫抓取网页图片

    现在网上有很多python2写的爬虫抓取网页图片的实例,但不适用新手(新手都使用python3环境,不兼容python2), 所以我用Python3的语法写了一个简单抓取网页图片的实例,希望能够帮助到 ...

  2. node:爬虫爬取网页图片

    代码地址如下:http://www.demodashi.com/demo/13845.html 前言 周末自己在家闲着没事,刷着微信,玩着手机,发现自己的微信头像该换了,就去网上找了一下头像,看着图片 ...

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

    随笔仅用于学习交流,转载时请注明出处,http://www.cnblogs.com/CaDevil/p/5958770.html 该随笔是记录我的第一个python程序,一个爬去指定图片站点的所有图集 ...

  4. python3爬虫.4.下载煎蛋网妹子图

    开始我学习爬虫的目标 ----> 煎蛋网 通过设置User-Agent获取网页,发现本该是图片链接的地方被一个js函数代替了 于是全局搜索到该函数 function jandan_load_im ...

  5. python3爬虫爬取网页思路及常见问题(原创)

    学习爬虫有一段时间了,对遇到的一些问题进行一下总结. 爬虫流程可大致分为:请求网页(request),获取响应(response),解析(parse),保存(save). 下面分别说下这几个过程中可以 ...

  6. Python多线程爬虫爬取网页图片

    临近期末考试,但是根本不想复习!啊啊啊啊啊啊啊!!!! 于是做了一个爬虫,网址为 https://yande.re,网页图片为动漫美图(图片带点颜色........宅男福利 github项目地址为:h ...

  7. 小白学Python(7)——利用Requests下载网页图片、视频

    安装 Requests 如果安装了Requests就已经可用了,否则要安装 Requests,只要在你的CMD中运行这个简单命令即可: pip install requests requests使用 ...

  8. python图片爬虫 - 批量下载unsplash图片

    前言 unslpash绝对是找图的绝佳场所, 但是进网站等待图片加载真的令人捉急, 仿佛是一场拼RP的战争 然后就开始思考用爬虫帮我批量下载, 等下载完再挑选, 操作了一下不算很麻烦, 顺便也给大家提 ...

  9. python脚本工具-1 制作爬虫下载网页图片

    参考:http://www.cnblogs.com/fnng/p/3576154.html 本文参考虫师的博客“python实现简单爬虫功能”,整理分析后抓取其他站点的图片并下载保存在本地. 抓取图片 ...

随机推荐

  1. 深入解析ThreadLocal类

    先了解一下ThreadLocal类提供的几个方法: public T get() { } public void set(T value) { } public void remove() { } p ...

  2. POJ2374_Fence Obstacle Course

    题意是描述是这样的,给你n个围栏,对于每个围栏你必须走到其边上才可以往下跳,现在问你从初始最高位置的n个围栏,到原点,水平走过的路程最少是多少? 其实我可可以这样来考虑问题.由于每次都是从板子的左右两 ...

  3. [Code Festival 2017 qual A] C: Palindromic Matrix

    题意 给出一个小写字母组成的字符矩阵,问能否通过重排其中的字符使得每行每列都是回文串. 分析 简化版:给出一个字符串,问能否通过重排其中的字符使得它是回文串.那么如果字符串长度为偶数,就需要a到z的个 ...

  4. P2764 最小路径覆盖问题(网络流24题之一)

    题目描述 «问题描述: 给定有向图G=(V,E).设P 是G 的一个简单路(顶点不相交)的集合.如果V 中每个顶点恰好在P 的一条路上,则称P是G 的一个路径覆盖.P 中路径可以从V 的任何一个顶点开 ...

  5. 【刷题】BZOJ 2599 [IOI2011]Race

    Description 给一棵树,每条边有权.求一条简单路径,权值和等于K,且边的数量最小.N <= 200000, K <= 1000000 Input 第一行 两个整数 n, k 第二 ...

  6. 【BZOJ2806】Cheat(后缀自动机,二分答案,动态规划,单调队列)

    [BZOJ2806]Cheat(后缀自动机,二分答案,动态规划,单调队列) 题面 BZOJ 洛谷 题解 很有趣的一道题啊 对于在所有的串上面进行匹配? 很明显的后缀自动机 所以先构建出广义后缀自动机 ...

  7. BZOJ3295:[CQOI2011]动态逆序对——题解

    http://www.lydsy.com/JudgeOnline/problem.php?id=3295 Description 对于序列A,它的逆序对数定义为满足i<j,且Ai>Aj的数 ...

  8. python之选择排序

    选择排序:比如在一个长度为N的无序数组中,在第一趟遍历N个数据,找出其中最小的数值与第一个元素交换,第二趟遍历剩下的N-1个数据,找出其中最小的数值与第二个元素交换......第N-1趟遍历剩下的2个 ...

  9. 【hdu6051】If the starlight never fade

    Portal --> hdu6051 Solution ​ 神仙题qwq好吧我个人感觉是神仙题 ​​ 这题其实有一个比较野路子的做法..就是..打表观察..反正场上ckw大佬就是这样把这题A穿的 ...

  10. Myeclipse下更改所有jsp、html文件的编码

    windows-->>preferences-->>gengral-->>