python实现爬虫下载美女图片


Posted in Python onJuly 14, 2015

本次爬取的贴吧是百度的美女吧,给广大男同胞们一些激励

在爬取之前需要在浏览器先登录百度贴吧的帐号,各位也可以在代码中使用post提交或者加入cookie

爬行地址:http://tieba.baidu.com/f?kw=%E7%BE%8E%E5%A5%B3&ie=utf-8&pn=0

#-*- coding:utf-8 -*-
import urllib2
import re
import requests
from lxml import etree

这些是要导入的库,代码并没有使用正则,使用的是xpath,正则困难的童鞋可以尝试使用下

推荐各位先使用基本库来写,这样可以学习到更多

links=[]
#遍历url的地址
k=1


print u'请输入最后的页数:'
endPage=int(raw_input())

#最终的页数
(r'\d+(?=\s*页) 这是一个比较通用的正则抓取总页数的代码,当然最后要group

#这里是手动输入页数,避免内容太多

for j in range(0,endPage):
  url='http://tieba.baidu.com/f?kw=%E7%BE%8E%E5%A5%B3&ie=utf-8&pn='+str(j)


#页数的url地址
  html=urllib2.urlopen(url).read()







#读取首页的内容
  selector=etree.HTML(html)






#转换为xml,用于在接下来识别
  links=selector.xpath('//div/a[@class="j_th_tit"]/@href')



#抓取当前页面的所有帖子的url

#大家可以使用浏览器自带的源码查看工具,在指定目标处查看元素,这样更快捷

  for i in links:
    url1="http://tieba.baidu.com"+i


#因为爬取到的地址是相对地址,所以要加上百度的domain
    html2=urllib2.urlopen(url1).read()


#读取当前页面的内容
    selector=etree.HTML(html2)




#转换为xml用于识别
    link=selector.xpath('//img[@class="BDE_Image"]/@src')

#抓取图片,各位也可以更换为正则,或者其他你想要的内容

#此处就是遍历下载
    for each in link:
      #print each
      print u'正在下载%d'%k
      fp=open('image/'+str(k)+'.bmp','wb')


#下载在当前目录下 image文件夹内,图片格式为bmp
      image1=urllib2.urlopen(each).read()



#读取图片的内容
      fp.write(image1)








#写入图片
      fp.close()
      k+=1

#k就是文件的名字,每下载一个文件就加1

print u'下载完成!'

如果想要爬取其他站点的内容,大家可以参考一下

Python 相关文章推荐
Python装饰器使用实例:验证参数合法性
Jun 24 Python
python对象及面向对象技术详解
Jul 19 Python
浅谈用Python实现一个大数据搜索引擎
Nov 28 Python
python实现mysql的读写分离及负载均衡
Feb 04 Python
python利用pandas将excel文件转换为txt文件的方法
Oct 23 Python
Python何时应该使用Lambda函数
Jul 02 Python
详解python中的time和datetime的常用方法
Jul 08 Python
PyQt5基本控件使用之消息弹出、用户输入、文件对话框的使用方法
Aug 06 Python
python中的split、rsplit、splitlines用法说明
Oct 23 Python
python requests模块的使用示例
Apr 07 Python
pytorch锁死在dataloader(训练时卡死)
May 28 Python
Python中异常处理用法
Nov 27 Python
Python实现查找系统盘中需要找的字符
Jul 14 #Python
Python删除空文件和空文件夹的方法
Jul 14 #Python
Python实现批量将word转html并将html内容发布至网站的方法
Jul 14 #Python
Python删除windows垃圾文件的方法
Jul 14 #Python
Python简单计算文件夹大小的方法
Jul 14 #Python
Python判断直线和矩形是否相交的方法
Jul 14 #Python
Python下Fabric的简单部署方法
Jul 14 #Python
You might like
学习PHP Cookie处理函数
2016/08/09 PHP
PHP中使用jQuery+Ajax实现分页查询多功能操作(示例讲解)
2017/09/17 PHP
通过PHP的Wrapper无缝迁移原有项目到新服务的实现方法
2020/04/02 PHP
setTimeout 不断吐食CPU的问题分析
2009/04/01 Javascript
斜45度寻路实现函数
2009/08/20 Javascript
分享精心挑选的12款优秀jQuery Ajax分页插件和教程
2012/08/09 Javascript
给文字加上着重号的JS代码
2013/11/12 Javascript
弹出窗口并且此窗口带有半透明的遮罩层效果
2014/03/13 Javascript
JavaScript中的getTimezoneOffset()方法使用详解
2015/06/10 Javascript
BootStrap的弹出框(Popover)支持鼠标移到弹出层上弹窗层不隐藏的原因及解决办法
2016/04/03 Javascript
wap手机端解决返回上一页的js实例
2016/12/08 Javascript
基于javascript实现的购物商城商品倒计时实例
2016/12/11 Javascript
使用Angular缓存父页面数据的方法
2017/01/03 Javascript
JavaScript 中调用 Kotlin 方法实例详解
2017/06/09 Javascript
详解基于webpack2.x的vue2.x的多页面站点
2017/08/21 Javascript
[js高手之路]寄生组合式继承的优势详解
2017/08/28 Javascript
JavaScript正则表达式函数总结(常用)
2018/02/22 Javascript
p5.js入门教程之图片加载
2018/03/20 Javascript
微信JSSDK实现打开摄像头拍照再将相片保存到服务器
2019/11/15 Javascript
vue video和vue-video-player实现视频铺满教程
2020/10/30 Javascript
合并Excel工作薄中成绩表的VBA代码,非常适合教育一线的朋友
2009/04/09 Python
python 域名分析工具实现代码
2009/07/15 Python
详解python3百度指数抓取实例
2016/12/12 Python
python爬虫面试宝典(常见问题)
2018/03/02 Python
python matplotlib 画dataframe的时间序列图实例
2019/11/20 Python
python主线程与子线程的结束顺序实例解析
2019/12/17 Python
解决Python图形界面中设置尺寸的问题
2020/03/05 Python
详解HTML5中垂直上下居中的解决方案
2017/12/20 HTML / CSS
PurCotton全棉时代官网:100%天然棉花生产的生活护理用品
2016/11/18 全球购物
掌上明珠Java程序员面试总结
2016/02/23 面试题
25道Java面试题集合
2013/05/21 面试题
写给女朋友的道歉信
2014/01/12 职场文书
CAD制图人员的自荐信
2014/02/07 职场文书
导游词之峨眉山
2019/12/16 职场文书
Vue3 Composition API的使用简介
2021/03/29 Vue.js
python对文档中元素删除,替换操作
2022/04/02 Python