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时区设置方法与pytz查询时区教程
Nov 27 Python
使用Python的Tornado框架实现一个一对一聊天的程序
Apr 25 Python
Python for Informatics 第11章之正则表达式(四)
Apr 21 Python
python实现图书管理系统
Mar 12 Python
对python .txt文件读取及数据处理方法总结
Apr 23 Python
对python sklearn one-hot编码详解
Jul 10 Python
python reverse反转部分数组的实例
Dec 13 Python
python在OpenCV里实现投影变换效果
Aug 30 Python
python等差数列求和公式前 100 项的和实例
Feb 25 Python
python smtplib发送多个email联系人的实现
Oct 09 Python
关于多种方式完美解决Python pip命令下载第三方库的问题
Dec 21 Python
python小程序之飘落的银杏
Apr 17 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之第六天
2006/10/09 PHP
ZF等常用php框架中存在的问题
2008/01/10 PHP
PHP 采集获取指定网址的内容
2010/01/05 PHP
Yii框架关联查询with用法分析
2014/12/02 PHP
php 从指定数字中获取随机组合的简单方法(推荐)
2017/04/05 PHP
JAVASCRIPT  THIS详解 面向对象
2009/03/25 Javascript
为jQuery.Treeview添加右键菜单的实现代码
2010/10/22 Javascript
元素的内联事件处理函数的特殊作用域在各浏览器中存在差异
2011/01/12 Javascript
使用jquery中height()方法获取各种高度大全
2014/04/02 Javascript
NodeJS学习笔记之Connect中间件模块(二)
2015/01/27 NodeJs
AngularJs实现ng1.3+表单验证
2015/12/10 Javascript
详解js中Json的语法与格式
2016/11/22 Javascript
webpack处理 css\less\sass 样式的方法
2017/08/21 Javascript
Vue 实现手动刷新组件的方法
2019/02/19 Javascript
JS实现网站楼层导航效果代码实例
2020/06/16 Javascript
JavaScript实现10秒后再次获取验证码
2020/12/02 Javascript
[50:28]2018DOTA2亚洲邀请赛 3.31 小组赛 A组 Newbee vs KG
2018/04/01 DOTA
[46:50]Liquid vs Mineski 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
Python的print用法示例
2014/02/11 Python
Python Xml文件添加字节属性的方法
2018/03/31 Python
Python实现基于C/S架构的聊天室功能详解
2018/07/07 Python
python3.6下Numpy库下载与安装图文教程
2019/04/02 Python
Python计算IV值的示例讲解
2020/02/28 Python
Python常见反爬虫机制解决方案
2020/06/01 Python
深入了解Python 变量作用域
2020/07/24 Python
Django实现随机图形验证码的示例
2020/10/15 Python
Python常用GUI框架原理解析汇总
2020/12/07 Python
Python使用Opencv实现边缘检测以及轮廓检测的实现
2020/12/31 Python
CSS3制作轮播图的一种方法
2019/11/11 HTML / CSS
HTML5 Video标签的属性、方法和事件汇总介绍
2015/04/24 HTML / CSS
Farfetch美国:奢侈品牌时尚购物平台
2019/05/02 全球购物
行政文员岗位职责
2013/11/08 职场文书
机械电子工程专业推荐信范文
2013/11/20 职场文书
给学校建议书范文
2014/05/13 职场文书
水利局群众路线专题民主生活会发言材料
2014/09/21 职场文书
2016先进集体事迹材料范文
2016/02/25 职场文书