【pyhon】nvshens图片批量下载爬虫
代码:
# nvshens图片批量下载爬虫 from bs4 import BeautifulSoup import requests import time import urllib.request user_agent='Mozilla/4.0 (compatible;MEIE 5.5;windows NT)' headers={'User-Agent':user_agent} # 找到的图片 pictures=[] # 不断追逐,直到结束 def crawl(url): print("爬取页面"+url); try: rsp=requests.get(url,headers=headers) soup= BeautifulSoup(rsp.text,'html.parser',from_encoding='utf-8') nextUrl="none"; for divs in soup.find_all(class_="gallery_wrapper"): # 把找到的图片放到数组里去 for img in divs.find_all('img'): print(img.get("src")) pictures.append(img.get("src")) #找下一页 for link in divs.find_all('a',class_='a1'): if link.string=='下一页' and link.get("href").find('.html')!=-1: nextUrl='https://www.nvshens.com'+link.get("href"); if nextUrl!="none": print("前往下一页"); crawl(nextUrl) else: print('爬取结束,开始下载...') downloadPics() except Exception as e: print("发生异常。重新爬行")# 不管怎么出现的异常,就让它一直爬到底 crawl(nextUrl) # 下载图片到本地 def downloadPics(): for pic in pictures: name=pic.split('/')[-1] rsp=urllib.request.urlopen(pic) img=rsp.read() with open(name,'wb') as f: f.write(img) print('图片'+pic+'下载完成') # Kickoff crawl('https://www.nvshens.com/g/22210/')
输出示例:
C:\Users\horn1\Desktop\python\7>python downloadall.py 爬取页面https://www.nvshens.com/g/22210/ C:\Users\horn1\AppData\Local\Programs\Python\Python36\lib\site-packages\bs4\__init__.py:146: UserWarning: You provided Unicode markup but also provided a value for from_encoding. Your from_encoding will be ignored. warnings.warn("You provided Unicode markup but also provided a value for from_encoding. Your from_encoding will be ignored.") https://img.onvshen.com:85/gallery/23789/22210/s/0.jpg https://img.onvshen.com:85/gallery/23789/22210/s/001.jpg https://img.onvshen.com:85/gallery/23789/22210/s/002.jpg https://img.onvshen.com:85/gallery/23789/22210/s/003.jpg https://img.onvshen.com:85/gallery/23789/22210/s/004.jpg 前往下一页 爬取页面https://www.nvshens.com/g/22210/2.html https://img.onvshen.com:85/gallery/23789/22210/s/005.jpg https://img.onvshen.com:85/gallery/23789/22210/s/006.jpg https://img.onvshen.com:85/gallery/23789/22210/s/007.jpg https://img.onvshen.com:85/gallery/23789/22210/s/008.jpg https://img.onvshen.com:85/gallery/23789/22210/s/009.jpg 前往下一页 爬取页面https://www.nvshens.com/g/22210/3.html https://img.onvshen.com:85/gallery/23789/22210/s/010.jpg https://img.onvshen.com:85/gallery/23789/22210/s/011.jpg https://img.onvshen.com:85/gallery/23789/22210/s/012.jpg https://img.onvshen.com:85/gallery/23789/22210/s/013.jpg https://img.onvshen.com:85/gallery/23789/22210/s/014.jpg 前往下一页 爬取页面https://www.nvshens.com/g/22210/4.html https://img.onvshen.com:85/gallery/23789/22210/s/015.jpg https://img.onvshen.com:85/gallery/23789/22210/s/016.jpg https://img.onvshen.com:85/gallery/23789/22210/s/017.jpg https://img.onvshen.com:85/gallery/23789/22210/s/018.jpg https://img.onvshen.com:85/gallery/23789/22210/s/019.jpg 前往下一页 爬取页面https://www.nvshens.com/g/22210/5.html https://img.onvshen.com:85/gallery/23789/22210/s/020.jpg https://img.onvshen.com:85/gallery/23789/22210/s/021.jpg https://img.onvshen.com:85/gallery/23789/22210/s/022.jpg https://img.onvshen.com:85/gallery/23789/22210/s/023.jpg https://img.onvshen.com:85/gallery/23789/22210/s/024.jpg 前往下一页 爬取页面https://www.nvshens.com/g/22210/6.html https://img.onvshen.com:85/gallery/23789/22210/s/025.jpg https://img.onvshen.com:85/gallery/23789/22210/s/026.jpg https://img.onvshen.com:85/gallery/23789/22210/s/027.jpg https://img.onvshen.com:85/gallery/23789/22210/s/028.jpg https://img.onvshen.com:85/gallery/23789/22210/s/029.jpg 前往下一页 爬取页面https://www.nvshens.com/g/22210/7.html https://img.onvshen.com:85/gallery/23789/22210/s/030.jpg https://img.onvshen.com:85/gallery/23789/22210/s/031.jpg https://img.onvshen.com:85/gallery/23789/22210/s/032.jpg https://img.onvshen.com:85/gallery/23789/22210/s/033.jpg https://img.onvshen.com:85/gallery/23789/22210/s/034.jpg 前往下一页 爬取页面https://www.nvshens.com/g/22210/8.html https://img.onvshen.com:85/gallery/23789/22210/s/035.jpg https://img.onvshen.com:85/gallery/23789/22210/s/036.jpg https://img.onvshen.com:85/gallery/23789/22210/s/037.jpg https://img.onvshen.com:85/gallery/23789/22210/s/038.jpg https://img.onvshen.com:85/gallery/23789/22210/s/039.jpg 爬取结束,开始下载... 图片https://img.onvshen.com:85/gallery/23789/22210/s/0.jpg下载完成 图片https://img.onvshen.com:85/gallery/23789/22210/s/001.jpg下载完成 图片https://img.onvshen.com:85/gallery/23789/22210/s/002.jpg下载完成 图片https://img.onvshen.com:85/gallery/23789/22210/s/003.jpg下载完成 图片https://img.onvshen.com:85/gallery/23789/22210/s/004.jpg下载完成 图片https://img.onvshen.com:85/gallery/23789/22210/s/005.jpg下载完成 图片https://img.onvshen.com:85/gallery/23789/22210/s/006.jpg下载完成 图片https://img.onvshen.com:85/gallery/23789/22210/s/007.jpg下载完成 图片https://img.onvshen.com:85/gallery/23789/22210/s/008.jpg下载完成 图片https://img.onvshen.com:85/gallery/23789/22210/s/009.jpg下载完成 图片https://img.onvshen.com:85/gallery/23789/22210/s/010.jpg下载完成 图片https://img.onvshen.com:85/gallery/23789/22210/s/011.jpg下载完成 图片https://img.onvshen.com:85/gallery/23789/22210/s/012.jpg下载完成 图片https://img.onvshen.com:85/gallery/23789/22210/s/013.jpg下载完成 图片https://img.onvshen.com:85/gallery/23789/22210/s/014.jpg下载完成 图片https://img.onvshen.com:85/gallery/23789/22210/s/015.jpg下载完成 图片https://img.onvshen.com:85/gallery/23789/22210/s/016.jpg下载完成 图片https://img.onvshen.com:85/gallery/23789/22210/s/017.jpg下载完成 图片https://img.onvshen.com:85/gallery/23789/22210/s/018.jpg下载完成 图片https://img.onvshen.com:85/gallery/23789/22210/s/019.jpg下载完成 图片https://img.onvshen.com:85/gallery/23789/22210/s/020.jpg下载完成 图片https://img.onvshen.com:85/gallery/23789/22210/s/021.jpg下载完成 图片https://img.onvshen.com:85/gallery/23789/22210/s/022.jpg下载完成 图片https://img.onvshen.com:85/gallery/23789/22210/s/023.jpg下载完成 图片https://img.onvshen.com:85/gallery/23789/22210/s/024.jpg下载完成 图片https://img.onvshen.com:85/gallery/23789/22210/s/025.jpg下载完成 图片https://img.onvshen.com:85/gallery/23789/22210/s/026.jpg下载完成 图片https://img.onvshen.com:85/gallery/23789/22210/s/027.jpg下载完成 图片https://img.onvshen.com:85/gallery/23789/22210/s/028.jpg下载完成 图片https://img.onvshen.com:85/gallery/23789/22210/s/029.jpg下载完成 图片https://img.onvshen.com:85/gallery/23789/22210/s/030.jpg下载完成 图片https://img.onvshen.com:85/gallery/23789/22210/s/031.jpg下载完成 图片https://img.onvshen.com:85/gallery/23789/22210/s/032.jpg下载完成 图片https://img.onvshen.com:85/gallery/23789/22210/s/033.jpg下载完成 图片https://img.onvshen.com:85/gallery/23789/22210/s/034.jpg下载完成 图片https://img.onvshen.com:85/gallery/23789/22210/s/035.jpg下载完成 图片https://img.onvshen.com:85/gallery/23789/22210/s/036.jpg下载完成 图片https://img.onvshen.com:85/gallery/23789/22210/s/037.jpg下载完成 图片https://img.onvshen.com:85/gallery/23789/22210/s/038.jpg下载完成 图片https://img.onvshen.com:85/gallery/23789/22210/s/039.jpg下载完成
感觉Python爬虫是比Nodejs爬虫省事一些。
【pyhon】nvshens图片批量下载爬虫的更多相关文章
- 【pyhon】nvshens图片批量下载爬虫1.01
# nvshens图片批量下载爬虫1.01 # 原先版本在遇到网络故障时回下载不全,这回更改了模式使得下载不成就重新下载,直到全部下载完毕 from bs4 import BeautifulSoup ...
- Node.js nvshens图片批量下载爬虫1.01
//====================================================== // nvshens图片批量下载爬虫1.01 // 用最近的断点续传框架改写原有1.0 ...
- Node.js nvshens图片批量下载爬虫 1.00
//====================================================== // www.nvshens.com图片批量下载Node.js爬虫1.00 // 此程 ...
- 【pyhon】nvshens按目录图片批量下载爬虫1.00(多线程版)
# nvshens按目录图片批量下载爬虫1.00(多线程版) from bs4 import BeautifulSoup import requests import datetime import ...
- Node.js abaike图片批量下载爬虫1.02
//====================================================== // abaike图片批量下载爬虫1.02 // 用最近的断点续传框架改写原有1.01 ...
- Node.js meitulu图片批量下载爬虫1.051
原有1.05版程序没有断点续传模式,现在在最近程序基础上改写一版1.051. //====================================================== // m ...
- Node.js mzitu图片批量下载爬虫1.00
又攻下一座山头. //====================================================== // mzitu图片批量下载爬虫1.00 // 2017年11月19 ...
- Node.js 4493图片批量下载爬虫1.00
这个爬虫依然需要iconv转码,想不到如今非utf8的网页还这么多.另外此网页找下一页的方式比较异常,又再次借助了正则表达式. 代码如下: //============================ ...
- Node.js monly图片批量下载爬虫1.00
此爬虫又用到了iconv转码,代码如下: //====================================================== // mmonly图片批量下载爬虫1.00 ...
随机推荐
- 洛谷——P1330 封锁阳光大学
P1330 封锁阳光大学 题目描述 曹是一只爱刷街的老曹,暑假期间,他每天都欢快地在阳光大学的校园里刷街.河蟹看到欢快的曹,感到不爽.河蟹决定封锁阳光大学,不让曹刷街. 阳光大学的校园是一张由N个点构 ...
- python中后端数据序列化不显示中文的解决方法
我们在前后端交互的时候,让序列化的数据更友好的显示,我们会用到 import json js = json.loads('{"name": "多多"}') pr ...
- Acdream 1738 世风日下的哗啦啦族I 树套树
世风日下的哗啦啦族I Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acdream.info/problem?pid=1738 Descri ...
- 2015 UESTC 搜索专题K题 秋实大哥の恋爱物语 kmp
秋实大哥の恋爱物语 Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.uestc.edu.cn/#/contest/show/61 De ...
- mybatis源码分析(6)-----核心调度对象StatmentHandler
写在前面 通过上一偏文章,我们知道:mybatis 的插件开发,主要是集中在Executor(执行器),ParameterHandler(参数处理器),ResultSetHandler(结果集处理器) ...
- CentOS 6.9设置阿里云源/163源
阿里云: 1.备份 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup 2.下载新的CentOS ...
- 不错的VS2010扩展——JSEnhancements,让js和css也折叠
在Visaul Studio 2010中写js或css代码,缺少像写C#代码时的那种折叠功能,当代码比较多时,就很不方便. 今天发现,已经有VS2010扩展支持这个功能,它就是——JSEnhancem ...
- End of Life check fails with NullPointerException
Checks if the running version of JIRA is approaching, or has reached End of Life. Details Type: Bug ...
- WebLogic中WLS 组件漏洞(CVE-2017-10271)专项检测工具
来源: 时间:2017-12-23 00:00:00 作者: 浏览:1929 次 近期安恒信息在应急响应过程中发现有恶意攻击者利用WebLogic漏洞对企业服务器发起大范围远程攻击,攻击成功后植入挖矿 ...
- sed替换换行符“\n”
linux sed命令,如何替换换行符“\n” 在一次sed使用中,执行命令: sed "s/\n//g" file 1 发现,没起到任何效果. 后来,经查sed官方用户手册,才得 ...