python3的爬虫算法(2)--下载图片并保存到指定途径
来源:互联网 发布:多维分析 数据服务 编辑:程序博客网 时间:2024/06/05 11:06
知道了如何获取网页数据之后,我们来学习一下如何下载图片
import urllib.request
import socket
import re
import sys
import os
from bs4 import BeautifulSoup
targetDir = r"D:\temp\img" #文件保存路径
name = 1
def destFile(path):
if not os.path.isdir(targetDir):
os.mkdir(targetDir)
pos = path.rindex('/')
t = os.path.join(targetDir, '%s.jpg'%name)
return t
import socket
import re
import sys
import os
from bs4 import BeautifulSoup
targetDir = r"D:\temp\img" #文件保存路径
name = 1
def destFile(path):
if not os.path.isdir(targetDir):
os.mkdir(targetDir)
pos = path.rindex('/')
t = os.path.join(targetDir, '%s.jpg'%name)
return t
'''
此处检查当前路径是否合法,并返回一个合法的路径以及文件名
介绍一下各个函数的用法:
os.path.isdir(url):判断url是否是一个合法路径,若是,返回true
os.mkdir(url):创建url路径
rindex(c)返回c在path中最后一次出现的位置
os.path.join:是在拼接路径的时候用的。举个例子,
os.path.join(“home”, "me", "mywork")
在Linux系统上会返回
“home/me/mywork"
在Windows系统上会返回
"home\me\mywork"
好处是可以根据系统自动选择正确的路径分隔符"/"或"\"
os.path.join(“home”, "me", "mywork")
在Linux系统上会返回
“home/me/mywork"
在Windows系统上会返回
"home\me\mywork"
好处是可以根据系统自动选择正确的路径分隔符"/"或"\"
'''
if __name__ == '__main__':
url = 'http://www.douban.com/'
headers = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1;WOW64;rv:23.0) Gecko/20100101 Firefox/23.0'}
req = urllib.request.Request(url=url, headers=headers)
webpage = urllib.request.urlopen(req)#伪装成浏览器发送请求
content = webpage.read()
'''
url = 'http://www.douban.com/'
headers = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1;WOW64;rv:23.0) Gecko/20100101 Firefox/23.0'}
req = urllib.request.Request(url=url, headers=headers)
webpage = urllib.request.urlopen(req)#伪装成浏览器发送请求
content = webpage.read()
'''
(调试阶段,忽略)
fp = open('/temp/pa1.txt','wb')
fp.write(content)
fp.close()
#print(type(content))
#print(type(content))
#print(content)
soup = BeautifulSoup(content,'html.parser')
links = soup.find_all('a')
print(links)
relink = '<a href="(.*)">(.*)</a>'
info = re.findall(relink,content)
#print(info)
'''
fp = open('/temp/pa1.txt','wb')
fp.write(content)
fp.close()
#print(type(content))
#print(type(content))
#print(content)
soup = BeautifulSoup(content,'html.parser')
links = soup.find_all('a')
print(links)
relink = '<a href="(.*)">(.*)</a>'
info = re.findall(relink,content)
#print(info)
'''
for link, t in set(re.findall(r'(https:[^s]*?(jpg|png|gif))', str(content))): #set(re.findall(r'(https:[^s]*?(jpg|png|gif))', str(content))):将content转化为str,使用正则表达式匹配。
#注意匹配时要根据考下来的html确定正则表达式
print(link)
name += 1
try:
urllib.request.urlretrieve(link,destFile(link)) #使用urlretrieve方法下载。使用请参照
except:
print('失败\n')
print(link)
name += 1
try:
urllib.request.urlretrieve(link,destFile(link)) #使用urlretrieve方法下载。使用请参照
except:
print('失败\n')
0 0
- python3的爬虫算法(2)--下载图片并保存到指定途径
- Python3 爬虫下载指定页面图片
- Glide下载图片并保存到指定路径
- AFNetworking的图片、视频下载并保存到指定的app的Caches目录下
- python3爬虫 爬取图片,爬取新闻网站文章并保存到数据库
- 从给定网页上下载<img src="" />格式的图片,并保存到制指定路径
- [unity3d]下载网上的图片并保存到本地
- 将文件下载到指定途径的OCX控件
- MVC 保存二进制到数据库,并显示文件的方法(图片显示或下载文件)
- Python爬虫获取图片并下载保存至本地
- 利用Python3对网易的某个话题进行爬取并保存图片到本地
- 截取指定区域的并保存图片
- Python3爬虫学习4:降爬取的信息保存到本地
- asp将base64的图片信息,转为图片显示,并保存到指定路径
- Python 爬虫5——爬取并下载网页指定规格的图片
- 爬虫03 爬取堆糖图片并保存到本地
- android 图片获取策略,下载并保存至指定文件夹
- 下载指定网络验证码图片,并保存
- 科研江湖中的一眼清泉之数据简化学会(科普版4k字,附6k字新闻)
- EffectiveJava(16)复合优先于继承
- R语言中报错:invalid argument to unary operator
- DOM、JDOM、DOM4J的区别
- RxJava中的doOnSubscribe默认执行线程分析
- python3的爬虫算法(2)--下载图片并保存到指定途径
- Android ViewPager 实现滑动跟定时循环连播外加底部小红点指示器
- 当时光匆匆才知道梦想遥不可及
- 交换两个数组元素以及求一个整数中二进制位的代码
- javac 编译 & java运行
- android 动画基础
- java中使用jdbcTemplate的query方法举例与总结
- Android Multimedia框架总结(二十六)利用FFmpeg进行解码直播流
- IE和谷歌(火狐)浏览器兼容获取内部样式表和外部样式表的样式