用Python爬虫抓取煎蛋(jandan.net)无聊图和妹子图,有需要的朋友可以参考下。

初学Python, 练手写了个程序

通过Python爬虫抓取煎蛋无聊图和妹子图,存储到本地硬盘

使用了pyquery包来做html解析,需要另外安装

图片默认下载到D:/Download/Python/ 目录下,无聊图在pic目录中,妹子图在ooxx目录中

程序开始输入三个参数: 开始页码, 结束页码, 无聊图或妹子图

程序:

# -*- coding: utf-8 -*-
"""
Created on Mon Dec 29 13:36:37 2014@author: Gavin
"""import sys
reload(sys)
sys.setdefaultencoding('utf-8')from pyquery import PyQuery as pq
from time import ctime
import time
import re
import os
import urllibdef main(page_start, page_end, flag):file_path_pre = 'D:/Download/Python/'folder_name = 'ooxx' if flag else 'pic'page_url = 'http://jandan.net/' + folder_name + '/page-'folder_name = file_path_pre + folder_name + '/' + str(page_start) + '-' + str(page_end) + '/'for page_num in range(page_start,page_end + 1):crawl_page(page_url, page_num, folder_name)def crawl_page(page_url, page_num, folder_name):page_url = page_url + str(page_num)print 'start handle',page_urlprint '','starting at', ctime()t0 = time.time()page_html = pq(url = page_url) #获取网页htmlcomment_id_patt = r'<li id="comment-(.+?)">'comment_ids = re.findall(comment_id_patt, page_html.html())name_urls = {}for comment_id in comment_ids:name_url = dispose_comment(page_html,comment_id)if name_url: name_urls.update(name_url)if not os.path.exists(folder_name):print '','new folder',folder_nameos.makedirs(folder_name)for name_url in name_urls.items():file_path = folder_name + 'page-' + str(page_num) + name_url[0]img_url = name_url[1]if not os.path.exists(file_path): print '','start download',file_path#print '','img_url is',img_urlurllib.urlretrieve(img_url, file_path)else:print '',file_path,'is already downloaded'               print 'finished at', ctime(),',total time',time.time()-t0,'ms'def dispose_comment(page_html,comment_id):name_url_dict = {}id = '#comment-'+comment_idcomment_html = page_html(id)oo_num = int(comment_html(id + ' #cos_support-' + comment_id).text())xx_num = int(comment_html(id + ' #cos_unsupport-'  + comment_id).text())oo_to_xx = oo_num/xx_num if xx_num != 0 else oo_numif oo_num > 1 and oo_to_xx > 0:imgs = comment_html(id + ' img')for i in range(0, len(imgs)):org_src = imgs.eq(i).attr('org_src')src = imgs.eq(i).attr('src')img_url = org_src if org_src else srcif img_url:img_suffix = img_url[-4:]if not img_suffix.startswith('.'):img_suffix = '.jpg'img_name = id + '_oo' + str(oo_num) + '_xx' + str(xx_num) + (('_' + str(i)) if i != 0 else '') + img_suffixname_url_dict[img_name] = img_urlelse:print '***url not exist'return name_url_dictif __name__ == '__main__':  page_start = int(raw_input('Input  start page number: '));page_end   = int(raw_input('Input  end   page number: '));is_ooxx    = int(raw_input('Select 0: wuliao 1: meizi '));main(page_start, page_end, is_ooxx)

from: http://www.aichengxu.com/view/40724

用Python爬虫抓取煎蛋(jandan.net)无聊图和妹子图相关推荐

  1. Python爬虫抓取煎蛋(jandan.net)无聊图

    1 #!/usr/bin/python 2 #encoding:utf-8 3 ''' 4 @python 3.6.1 5 @author: 1109159477@qq.com 6 @create d ...

  2. python爬虫——抓取煎蛋网ooxx妹子图的一个小工具

    一点学习成果,仅限学习交流! 一.部分源码: def get_page(html):# 获取下一页链接start1 = str(html).find("Older Comments" ...

  3. python爬虫图片实例-Python爬虫爬取煎蛋网图片代码实例

    这篇文章主要介绍了Python爬虫爬取煎蛋网图片代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 今天,试着爬取了煎蛋网的图片. 用到的包: ...

  4. Python爬虫爬取煎蛋网图片代码实例

    这篇文章主要介绍了Python爬虫爬取煎蛋网图片代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 今天,试着爬取了煎蛋网的图片. 用到的包: ...

  5. python 爬虫爬取煎蛋网妹子图,我1T的硬盘装满了!

    前言 大家好,这里是「brucepk」爬虫 系列教程.此系列教程以实例项目为材料进行分析,从项目中学习 python 爬虫,跟着我一起学习,每天进步一点点. 煎蛋网站 image 很多朋友都反应学 p ...

  6. 用python来抓取“煎蛋网”上面的美女图片,尺度很大哦!哈哈

    所用Python环境为:python 3.3.2   用到的库为:urllib.request    re 废话不多说,先上代码: import urllib.request import re#获得 ...

  7. python爬图代码实例_Python爬虫爬取煎蛋网图片代码实例

    这篇文章主要介绍了Python爬虫爬取煎蛋网图片代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 今天,试着爬取了煎蛋网的图片. 用到的包: ...

  8. 使用HttpClient实现一个简单爬虫,抓取煎蛋妹子图

    第一篇文章,就从一个简单爬虫开始吧. 这只虫子的功能很简单,抓取到"煎蛋网xxoo"网页(http://jandan.net/ooxx/page-1537),解析出其中的妹子图,保 ...

  9. python爬取大众点评评论_python爬虫抓取数据 小试Python——爬虫抓取大众点评上的数据 - 电脑常识 - 服务器之家...

    python爬虫抓取数据 小试Python--爬虫抓取大众点评上的数据 发布时间:2017-04-07

最新文章

  1. 如果有的明星不会使用计算机,盘点娱乐圈不会用电脑手机的10大原始明星:最后一位出书都是手写...
  2. 欧盟调查或拖累进程 高通收购NXP一波三折
  3. 收藏:用DE-9IM判断二维空间位置关系
  4. matlab 投票法_SVM算法原理及其Matlab应用
  5. #HTTP协议学习# (五)压缩
  6. # 和 ## 的区别
  7. 【渝粤题库】陕西师范大学100091 现代教育技术学 作业(专升本)
  8. LeetCode 758. 字符串中的加粗单词(Trie树)
  9. 织梦生成的html路径,织梦dedecms安装在子目录网页生成在根目录如何设置
  10. C# EF 与 MySql 的那些坑
  11. 极客学院文本爬虫实战
  12. IOS之未解问题--给UITableView提取UITableViewDataSource并封装瘦身失败
  13. 机器学习的分类与主要算法
  14. win7无法删除文件夹,提示“找不到该项目”
  15. 纯前端表格工具使用 - SpreadJS如何将复选框导出Excel
  16. 简单的新闻分类算法(流程图描述)
  17. 数组filter的用法
  18. C语言---移盘子----Hanoi(汉诺)塔问题,显示移动盘子的步骤
  19. 【提升coding能力】100道Python练习题11-20
  20. Latex的安装与使用

热门文章

  1. 封海外,封UDP是什么意思,主要作用是什么
  2. linux 之虚拟环境
  3. 从麦肯锡到小黑裙-Project Gravitas |华丽志
  4. 利用休息时间编写的关于新唐单片机较为简单的ADC+定时器+IO端口程序
  5. 我的编程之路(九) 无人问津的前三天、封闭式开发
  6. flink smallint类型不兼容hudi
  7. 搞定暴利产品之门户广告篇
  8. Python免费教程,学了都说好!
  9. python语言主网站的网址_Python教程官网
  10. 精美如蝴蝶结,Coredy iTag 防丢器支持苹果 Find My 功能