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中urllib2模块的8个使用细节分享
Jan 01 Python
python多进程和多线程究竟谁更快(详解)
May 29 Python
python逐行读写txt文件的实例讲解
Apr 03 Python
Python 访问限制 private public的详细介绍
Oct 16 Python
python使用pymongo操作mongo的完整步骤
Apr 13 Python
Pyqt清空某一个QTreeewidgetItem下的所有分支方法
Jun 17 Python
python如何读取bin文件并下发串口
Jul 05 Python
pandas读取CSV文件时查看修改各列的数据类型格式
Jul 07 Python
python中for循环变量作用域及用法详解
Nov 05 Python
Django ForeignKey与数据库的FOREIGN KEY约束详解
May 20 Python
Python如何读写字节数据
Aug 05 Python
Python初学者必备的文件读写指南
Jun 23 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类常量的使用详解
2013/06/08 PHP
浅析使用Turck-mmcache编译来加速、优化PHP代码
2013/06/20 PHP
php环境套包 dedeampz 伪静态设置示例
2014/03/26 PHP
如何判断php mysqli扩展类是否开启
2016/12/24 PHP
jsTree树控件(基于jQuery, 超强悍)[推荐]
2009/09/01 Javascript
JS关闭窗口或JS关闭页面的几种代码分享
2013/10/25 Javascript
JavaScript中setInterval的用法总结
2013/11/20 Javascript
jQuery幻灯片特效代码分享--鼠标滑过按钮时切换(2)
2020/11/18 Javascript
php基于redis处理session的方法
2016/03/14 Javascript
jQuery Form表单取值的方法
2017/01/11 Javascript
Vue v2.5 调整和更新不完全问题
2017/10/24 Javascript
anime.js 实现带有描边动画效果的复选框(推荐)
2017/12/24 Javascript
elementui的默认样式修改方法
2018/02/23 Javascript
微信小程序页面间传值与页面取值操作实例分析
2019/04/30 Javascript
vue-cli配置flexible过程详解
2019/07/04 Javascript
vue中v-model对select的绑定操作
2020/08/31 Javascript
打印出python 当前全局变量和入口参数的所有属性
2009/07/01 Python
Python实现脚本锁功能(同时只能执行一个脚本)
2017/05/10 Python
Python中面向对象你应该知道的一下知识
2019/07/10 Python
使用python修改文件并立即写回到原始位置操作(inplace读写)
2020/06/28 Python
python使用列表的最佳方案
2020/08/12 Python
用python绘制樱花树
2020/10/09 Python
HTML5应用之文件上传
2016/12/30 HTML / CSS
详解canvas.toDataURL()报错的解决方案全都在这了
2020/03/31 HTML / CSS
Alba Moda瑞士网上商店:独家意大利时尚女装销售
2016/11/28 全球购物
vue项目实现分页效果
2021/03/24 Vue.js
传播学专业毕业生自荐书
2014/07/01 职场文书
安全在我心中演讲稿
2014/09/01 职场文书
教师自我剖析材料(群众路线)
2014/09/29 职场文书
党员查摆剖析材料
2014/10/10 职场文书
药店收银员岗位职责
2015/04/07 职场文书
教师评职称工作总结2015
2015/04/20 职场文书
《风不能把阳光打败》读后感3篇
2020/01/06 职场文书
PHP解决高并发问题
2021/04/01 PHP
mysql中整数数据类型tinyint详解
2021/12/06 MySQL
分享提高 Python 代码的可读性的技巧
2022/03/03 Python