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的Django框架中的通用视图
May 04 Python
python web框架学习笔记
May 03 Python
python与C互相调用的方法详解
Jul 14 Python
Android基于TCP和URL协议的网络编程示例【附demo源码下载】
Jan 23 Python
Python任意字符串转16, 32, 64进制的方法
Jun 12 Python
Python操作SQLite数据库过程解析
Sep 02 Python
Python爬虫之urllib基础用法教程
Oct 12 Python
Python实现随机取一个矩阵数组的某几行
Nov 26 Python
np.random.seed() 的使用详解
Jan 14 Python
Python列表操作方法详解
Feb 09 Python
python和C++共享内存传输图像的示例
Oct 27 Python
Python基于爬虫实现全网搜索并下载音乐
Feb 14 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生成图片验证码的实例讲解
2015/08/03 PHP
实例讲解PHP中使用命名空间
2019/01/27 PHP
js 获取服务器控件值的代码
2010/03/05 Javascript
html a标签-超链接中confirm方法使用介绍
2013/01/04 Javascript
浅析用prototype定义自己的方法
2013/11/14 Javascript
jquery等待效果示例
2014/05/01 Javascript
jQuery中prevAll()方法用法实例
2015/01/08 Javascript
JS往数组中添加项性能分析
2015/02/25 Javascript
javascript解三阶幻方(九宫格)
2015/04/22 Javascript
jquery获取url参数及url加参数的方法
2015/10/26 Javascript
使用Promise解决多层异步调用的简单学习心得
2016/05/17 Javascript
js实现文字选中分享功能
2017/01/25 Javascript
selenium 与 chrome 进行qq登录并发邮件操作实例详解
2017/04/06 Javascript
Vue自定义指令详解
2017/07/28 Javascript
对layui中表单元素的使用详解
2018/08/15 Javascript
Vue使用NProgress进度条的方法
2019/09/21 Javascript
python数组复制拷贝的实现方法
2015/06/09 Python
python3读取csv和xlsx文件的实例
2018/06/22 Python
Python2.7环境Flask框架安装简明教程【已测试】
2018/07/13 Python
使用python检查yaml配置文件是否符合要求
2020/04/09 Python
Python sorted对list和dict排序
2020/06/09 Python
python用700行代码实现http客户端
2021/01/14 Python
Casadei卡萨蒂官网:意大利奢侈鞋履品牌
2017/10/28 全球购物
Ashford台湾:以折扣价提供奢华的男女用表款
2019/12/04 全球购物
Java中有几种类型的流?JDK为每种类型的流提供了一些抽象类以供继承,请说出他们分别是哪些类?
2012/05/30 面试题
甜品店的创业计划书范文
2014/01/02 职场文书
项目投资建议书
2014/05/16 职场文书
计算机专业求职信
2014/06/02 职场文书
美化环境标语
2014/06/20 职场文书
化工专业求职信
2014/07/01 职场文书
观看信仰心得体会
2014/09/04 职场文书
基层党员学习党的群众路线教育实践活动心得体会
2014/11/04 职场文书
公务员个人总结
2015/02/12 职场文书
公司人力资源管理制度
2015/08/05 职场文书
HTML基本元素标签介绍
2022/02/28 HTML / CSS
详细介绍Java中的CyclicBarrier
2022/04/13 Java/Android