import requests
import re, os
import time, datetimeMaxSearchPage = 20
CurrentPage = 1
DefaultPath = 'pictures'
NeedSave = 0
headers = { # 不加这句可能会请去喝茶。。。。'User-Agent': 'Mozilla/5.0(Windows NT 6.1; WOW64; rv:31.0) Gecko/20100101 Firefox/31.0'
} # 图片链接正则和下一页的链接正则!
# 不过,实际上昵图网可以从网址上直接控制页数!!!!!
def imageFiler(content):return re.findall('data-original="(.*?)"', content, re.S)
def nextSource(content):next = re.findall('<div class="common-page-box mt10 align-center">.*<a href="(.*?)" target="_self" title="下一页"',content, re.S)print('------'+'http://soso.nipic.com'+next[-1])return next[-1]# 爬虫主体
def spidler(source):content = requests.get(source, headers = headers).textimageArr = imageFiler(content)global CurrentPageprint('Current page:' + str(CurrentPage) + '***************')for imageUrl in imageArr:print(imageUrl)global NeedSaveif NeedSave:global DefaultPathtry:# 下载图片并设置超时时间,如果图片地址错误就不继续等待了!(这里值得学习!!!)picture = requests.get(imageUrl, headers=headers, timeout = 10)except:print('Download image error! errorUrl:' + imageUrl)continue# 创建图片保存的路径imageUrl = re.findall(r'([0-9]{2,})\.', imageUrl)[-1] +'('+ str(datetime.datetime.now())[:19]+')'imageUrl = imageUrl.replace('/', '').replace(':','').replace('?', '')pictureSavePath = DefaultPath + imageUrl + '.jpg'fp = open(pictureSavePath, 'wb')fp.write(picture.content)fp.close()global MaxSearchPageif CurrentPage < MaxSearchPage:if nextSource(content):CurrentPage += 1spidler('http://soso.nipic.com' + nextSource(content))# 爬虫的开启方法
def beginSearch(page=1, save=0, savePath="05 爬虫应用——抓取昵图图片/"):global MaxSearchPage, NeedSave, DefaultPathMaxSearchPage = pageNeedSave = savekey = input('Please input you want search:')DefaultPath = savePath + key+ '/'if not os.path.exists(DefaultPath):os.mkdir(DefaultPath)StartSource = 'http://soso.nipic.com/?q='+key+'&g=0&or=0&y=48'spidler(StartSource)beginSearch(page=3, save=1)

Please input you want search:美女
Current page:1***************
http://pic138.huitu.com/pic/20200305/2028768_20200305105858773060_0.jpg
http://pic129.huitu.com/pic/20190928/1346505_20190928224126470060_0.jpg
http://pic129.huitu.com/pic/20190928/1346505_20190928224126316060_0.jpg
http://pic129.huitu.com/pic/20190920/1346505_20190920175010282020_0.jpg
……

05 爬虫应用(2)——抓取昵图性感美女图片(针对传统翻页图片版本)相关推荐

  1. python批量读取图片并批量保存_Python爬虫:批量抓取花瓣网高清美图并保存

    原标题:Python爬虫:批量抓取花瓣网高清美图并保存 昨天看到了不错的图片分享网--花瓣,里面的图片质量还不错,所以利用selenium+xpath我把它的妹子的栏目下爬取了下来,以图片栏目名称给文 ...

  2. Python网络爬虫实战:抓取和分析天猫胸罩销售数据

    本文实现一个非常有趣的项目,这个项目是关于胸罩销售数据分析的.Google曾给出了一幅世界女性胸部尺寸分布地图 ,从地图中可以明显看出中国大部分地区呈现绿色(表示平均胸部尺寸为A罩杯),少部分地区呈现 ...

  3. Colly 学习笔记(二)——爬虫框架,抓取下载数据(上证A股数据下载)

    Colly 学习笔记(二)--爬虫框架,抓取下载数据(上证A股数据下载) Colly 学习笔记(一)--爬虫框架,抓取中金公司行业市盈率数据 Colly 学习笔记(二)--爬虫框架,抓取下载数据(上证 ...

  4. 网络营销专员表示网络营销中设置不当会影响蜘蛛爬虫对网站抓取

    在日常网站优化中如果想要网站拥有良好的网站排名,就要针对搜索引擎的抓取习惯培养友好度和信任度,网站在运营优化中难免会发生因为一些细节问题影响蜘蛛爬虫对网站正常抓取,那么究竟哪些操作设置会影响蜘蛛爬虫对 ...

  5. python爬虫代码房-Python爬虫一步步抓取房产信息

    原标题:Python爬虫一步步抓取房产信息 前言 嗯,这一篇文章更多是想分享一下我的网页分析方法.玩爬虫也快有一年了,基本代码熟悉之后,我感觉写一个爬虫最有意思的莫过于研究其网页背后的加载过程了,也就 ...

  6. 知乎爬虫之4:抓取页面数据

    git爬虫项目地址( 终于上传代码了~~~~关注和star在哪里):https://github.com/MatrixSeven/ZhihuSpider(已完结) 附赠之前爬取的数据一份(mysql) ...

  7. PHP爬虫音乐,PHPCrawl爬虫库实现抓取酷狗歌单

    爬虫是一个很有意思的功能,本文主要介绍了PHPCrawl爬虫库实现抓取酷狗歌单的方法,涉及PHPCrawl爬虫库的使用及正则匹配相关操作技巧,需要的朋友可以参考下,希望能帮帮助到大家. header( ...

  8. python 定时自动爬取_python实现scrapy爬虫每天定时抓取数据的示例代码

    1. 前言. 1.1. 需求背景. 每天抓取的是同一份商品的数据,用来做趋势分析. 要求每天都需要抓一份,也仅限抓取一份数据. 但是整个爬取数据的过程在时间上并不确定,受本地网络,代理速度,抓取数据量 ...

  9. Python爬虫项目:抓取智联招聘信息

    来自https://mp.weixin.qq.com/s/0SzLGqv2p0-IWSN3r8bOHA ''' Python爬虫之五:抓取智联招聘基础版 该文件运行后会产生一个代码,保存在这个Pyth ...

最新文章

  1. 舒工自定义AJAX-lite 1.0实用型极简方法
  2. 第七讲:数据契约(2)
  3. ElementUI 添加修改提示成功后 如何刷新表格数据展示
  4. c++ builder xe2 debug正常 release崩溃 解决一例
  5. C语言阿斯码,木叶四位上忍设定各不相同,网红负责秀操作,她只需要美就够了...
  6. 清除Linux终端命令的历史记录
  7. 多目标函数 matlab 粒子群_【LIBSVM】基于群智能优化算法的支持向量机 (SVM) 参数优化...
  8. 生命真的很脆弱,理性看待过劳
  9. 数字转换成金额大写的小程序
  10. excel制作随着日期的改变而变化的动态日历
  11. 计算机小喇叭找不到,电脑右下角小喇叭不见了(解决方案)
  12. 2022最新面试题(含css、html、js、es6、Vue)
  13. less 使用入门教程
  14. d3dx9_35.dll如何修复
  15. LeetCode github集合,附CMU大神整理笔记
  16. 老婆离家三周,我写了一个操作系统!
  17. 《Graph neural networks A review of methods and applications》翻译
  18. http请求从浏览器到tomcat过程
  19. 计算机原理与结构 实验1 《计算机硬件描述语言》
  20. 编译原理 赋值语句翻译成四元式

热门文章

  1. 计算机搜索栏打字不显示,win10搜索栏无法输入文字怎么办_win10电脑搜索栏无法输入的解决方法...
  2. DFS(深度优先遍历)
  3. 西南科技大学计算机综合大纲,西南科技大学(专业学位)计算机技术研究生考试科目和考研参考书目...
  4. 如何批量将多个 PPT 文档中的图片提取出来
  5. 仿微信朋友圈图片预览自定义View
  6. [Java] 超简图床(Java版) —— 专为Api而生
  7. c语言循环卖n西瓜 几天卖完,C++循环结构23道题含答案.docx
  8. 基于JAVA幼儿园综合管理系统计算机毕业设计源码+系统+数据库+lw文档+部署
  9. 使用Fiddler和雷电模拟器抓取安卓https请求
  10. android 获取视频长度,android中如何获取视频时长