用Python爬虫抓取煎蛋(jandan.net)无聊图和妹子图
用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)无聊图和妹子图相关推荐
- 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 ...
- python爬虫——抓取煎蛋网ooxx妹子图的一个小工具
一点学习成果,仅限学习交流! 一.部分源码: def get_page(html):# 获取下一页链接start1 = str(html).find("Older Comments" ...
- python爬虫图片实例-Python爬虫爬取煎蛋网图片代码实例
这篇文章主要介绍了Python爬虫爬取煎蛋网图片代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 今天,试着爬取了煎蛋网的图片. 用到的包: ...
- Python爬虫爬取煎蛋网图片代码实例
这篇文章主要介绍了Python爬虫爬取煎蛋网图片代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 今天,试着爬取了煎蛋网的图片. 用到的包: ...
- python 爬虫爬取煎蛋网妹子图,我1T的硬盘装满了!
前言 大家好,这里是「brucepk」爬虫 系列教程.此系列教程以实例项目为材料进行分析,从项目中学习 python 爬虫,跟着我一起学习,每天进步一点点. 煎蛋网站 image 很多朋友都反应学 p ...
- 用python来抓取“煎蛋网”上面的美女图片,尺度很大哦!哈哈
所用Python环境为:python 3.3.2 用到的库为:urllib.request re 废话不多说,先上代码: import urllib.request import re#获得 ...
- python爬图代码实例_Python爬虫爬取煎蛋网图片代码实例
这篇文章主要介绍了Python爬虫爬取煎蛋网图片代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 今天,试着爬取了煎蛋网的图片. 用到的包: ...
- 使用HttpClient实现一个简单爬虫,抓取煎蛋妹子图
第一篇文章,就从一个简单爬虫开始吧. 这只虫子的功能很简单,抓取到"煎蛋网xxoo"网页(http://jandan.net/ooxx/page-1537),解析出其中的妹子图,保 ...
- python爬取大众点评评论_python爬虫抓取数据 小试Python——爬虫抓取大众点评上的数据 - 电脑常识 - 服务器之家...
python爬虫抓取数据 小试Python--爬虫抓取大众点评上的数据 发布时间:2017-04-07
最新文章
- 如果有的明星不会使用计算机,盘点娱乐圈不会用电脑手机的10大原始明星:最后一位出书都是手写...
- 欧盟调查或拖累进程 高通收购NXP一波三折
- 收藏:用DE-9IM判断二维空间位置关系
- matlab 投票法_SVM算法原理及其Matlab应用
- #HTTP协议学习# (五)压缩
- # 和 ## 的区别
- 【渝粤题库】陕西师范大学100091 现代教育技术学 作业(专升本)
- LeetCode 758. 字符串中的加粗单词(Trie树)
- 织梦生成的html路径,织梦dedecms安装在子目录网页生成在根目录如何设置
- C# EF 与 MySql 的那些坑
- 极客学院文本爬虫实战
- IOS之未解问题--给UITableView提取UITableViewDataSource并封装瘦身失败
- 机器学习的分类与主要算法
- win7无法删除文件夹,提示“找不到该项目”
- 纯前端表格工具使用 - SpreadJS如何将复选框导出Excel
- 简单的新闻分类算法(流程图描述)
- 数组filter的用法
- C语言---移盘子----Hanoi(汉诺)塔问题,显示移动盘子的步骤
- 【提升coding能力】100道Python练习题11-20
- Latex的安装与使用