#coding=utf-8
#python_demo 爬取煎蛋妹子图在本地文件夹
import requests
import threading
import time
import os
from bs4 import BeautifulSoup
#伪造头文件
headers = {
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36',
'Accept-Encoding': 'gzip',
'Cookie': '1024679722=aada4mZxRMxqvInd7D6PSgq%2FIkpGFeGlZWAH1gqP8Q; __auc=57bffd35154a91de3cd5d3b1ddb; 1024679722=ebeaLZUFikSR1OE6lm5MJYJSV0V1DbcooxQr0CHu; jdna=596e6fb28c1bb47f949e65e1ae03f7f5#1467948344088; Hm_lvt_fd93b7fb546adcfbcf80c4fc2b54da2c=1467001661,1467189261,1467685014,1467857178; Hm_lpvt_fd93b7fb546adcfbcf80c4fc2b54da2c=1467948345; _ga=GA1.2.1739476572.1438849462; _gat=1'}
def saveImgs(*allUrl):
if not os.path.exists('/home/zhanyunwu/jiandanpic'):
os.mkdir('/home/zhanyunwu/jiandanpic') #在本地新建文件夹
print allUrl
if len(allUrl)!=0:
print '当前页面有', len(allUrl), '张图片即将下载'
for l in allUrl:
filename='/home/zhanyunwu/jiandanpic/'+parseName(l)
saveImg(l,filename)
time.sleep(1)
else:
print '当前页面无图片下载'
def saveImg(url,filename):
print '当前图片url:',str(url),'当前图片名称',filename
# u=urllib2.urlopen(url)
# data=u.read()
reponse=requests.get(str(url),headers=headers)
image=reponse.content
# f=open(filename,'wb')
with open(filename,'wb') as f:
f.write(image) def parseName(url):
u=str(url).split('.')
filename=str(url)[30:55]+'.'+u[-1]
return filename
#getallImgUrl
def getAllImgUrl(url):
allurl = []
req=requests.get(url,headers=headers)
# print req.status_code
if req.status_code !=200:
return allurl
soup=BeautifulSoup(req.content,"lxml")
links=soup.select('ol.commentlist img')
print links
for l in links:
allurl.append(l.attrs.get('src'))
return allurl
#多线程爬取
def crawler(n,m):
for l in range(n,m):
url = 'http://jandan.net/ooxx/page-' + str(l) + '#comments'
u=getAllImgUrl(url)
saveImgs(*u)
c1=threading.Thread(target=crawler,args=(1850,1900))
c2=threading.Thread(target=crawler,args=(1950,2000))
c3=threading.Thread(target=crawler,args=(2001,2064))
c1.start()
c2.start()
c3.start()
c1.join()
c2.join()
c3.join()
print 'success'

  

python爬虫学习(1)__抓取煎蛋图片的更多相关文章

  1. python爬虫学习(2)__抓取糗百段子,与存入mysql数据库

    import pymysql import requests from bs4 import BeautifulSoup#pymysql链接数据库 conn=pymysql.connect(host= ...

  2. python爬虫学习:分布式抓取

    前面的文章都是基于在单机操作,正常情况下,一台机器无论配置多么高,线程开得再多,也总会有一个上限,或者说成本过于巨大.因此,本文将提及分布式的爬虫,让爬虫的效率提高得更快. 构建分布式爬虫首先需要有多 ...

  3. Python爬虫学习笔记之抓取猫眼的排行榜

    代码: import json import requests from requests.exceptions import RequestException import re import ti ...

  4. Golang分布式爬虫:抓取煎蛋文章|Redis/Mysql|56,961 篇文章

    --- layout: post title: "Golang分布式爬虫:抓取煎蛋文章" date: 2017-04-15 author: hunterhug categories ...

  5. Python爬虫实战四之抓取淘宝MM照片

    原文:Python爬虫实战四之抓取淘宝MM照片其实还有好多,大家可以看 Python爬虫学习系列教程 福利啊福利,本次为大家带来的项目是抓取淘宝MM照片并保存起来,大家有没有很激动呢? 本篇目标 1. ...

  6. Python爬虫实战六之抓取爱问知识人问题并保存至数据库

    大家好,本次为大家带来的是抓取爱问知识人的问题并将问题和答案保存到数据库的方法,涉及的内容包括: Urllib的用法及异常处理 Beautiful Soup的简单应用 MySQLdb的基础用法 正则表 ...

  7. 一次Python爬虫的修改,抓取淘宝MM照片

    这篇文章是2016-3-2写的,时隔一年了,淘宝的验证机制也有了改变.代码不一定有效,保留着作为一种代码学习. 崔大哥这有篇>>小白爬虫第一弹之抓取妹子图 不失为学python爬虫的绝佳教 ...

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

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

  9. python爬虫学习01--电子书爬取

    python爬虫学习01--电子书爬取 1.获取网页信息 import requests #导入requests库 ''' 获取网页信息 ''' if __name__ == '__main__': ...

随机推荐

  1. linux 信号处理

    查看信号 kill -l 信号实际就是一个进程发送给另一个进程的消息

  2. javascript 事件多次绑定和删除

    同一个事件绑定多个事件处理程序(适合自己写)IE: 添加: 对象.attachEvent("on事件名","处理程序/函数名"); 执行顺序从后向前 删除: 对 ...

  3. [DevExpress][TreeList]节点互斥

    关键代码: /// <summary> /// 节点互斥同步 /// 说明 /// eg: ///TreeListNode _node = e.Node; ///_node.SyncMut ...

  4. 结构型模式(Structural patterns)->外观模式(Facade Pattern)

    动机(Motivate): 在软件开发系统中,客户程序经常会与复杂系统的内部子系统之间产生耦合,而导致客户程序随着子系统的变化而变化.那么如何简化客户程序与子系统之间的交互接口?如何将复杂系统的内部子 ...

  5. 有关sybase的一些零星经验

    clear transaction log >dump transaction master with truncate_only >dump transaction master wit ...

  6. 【python】元组的插入

    >>> temp=(1,2,3,4,5)>>> temp=temp[:2]+(8,)+temp[2:]>>> temp(1, 2, 8, 3, 4 ...

  7. C# 实现繁体字和简体字之间的转换

    今天收到一个需求,将一组简体的汉字转换成繁体的汉字,刚开始有点茫然,后来在网上搜了一下思路,结果很少有涉及,终于我在看了MSDN后找到了如何解决,可能这方面对一些高程来说很Easy,但是除了高程还有很 ...

  8. 成为IT经理必备的十大软技能

    对于一个IT从业者,让你谋得工作的也许是技术能力,但有助于提升职业生涯的却是软技能.步步高升的人都是那些发表文章.在会议上积极发言以及关注客户的员工(程序员).与此同时,通常情况下,企业CIO或多或少 ...

  9. JS实现精确加减乘除

    说明:项目中要使用 JS 实现自动计算的功能,进行一些浮点数运算时,计算结果却是一长串的值,这里提供一个解决方法,问题基本上可以解决. 具体代码如下: //加法函数 function accAdd(a ...

  10. 在mesos上安装storm,并且执行wordcount测试程序

    mesos上安装storm 1.基本说明 如果只用一句话来描述storm的话,可能会是这样:分布式实时计算系统.按照storm作者的说法,storm对于实时计算的意义类似于hadoop对于批处理的意义 ...