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检测远程udp端口是否打开的方法
Mar 14 Python
Python实现简单状态框架的方法
Mar 19 Python
Python 性能优化技巧总结
Nov 01 Python
python 根据正则表达式提取指定的内容实例详解
Dec 04 Python
对pytorch网络层结构的数组化详解
Dec 08 Python
详解python使用turtle库来画一朵花
Mar 21 Python
python使用turtle绘制国际象棋棋盘
May 23 Python
Python3.0 实现决策树算法的流程
Aug 08 Python
python scipy卷积运算的实现方法
Sep 16 Python
python画蝴蝶曲线图的实例
Nov 21 Python
python字典通过值反查键的实现(简洁写法)
Sep 30 Python
python_tkinter弹出对话框创建
Mar 20 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
我的论坛源代码(八)
2006/10/09 PHP
在php中判断一个请求是ajax请求还是普通请求的方法
2011/06/28 PHP
PHP+Ajax实现无刷新分页实例详解(附demo源码下载)
2016/04/07 PHP
PHP时间戳格式全部汇总 (获取时间、时间戳)
2016/06/13 PHP
php实现不通过扩展名准确判断文件类型的方法【finfo_file方法与二进制流】
2017/04/18 PHP
PHP jpgraph库的配置及生成统计图表:折线图、柱状图、饼状图
2017/05/15 PHP
表格 隔行换色升级版
2009/11/07 Javascript
JavaScript 格式字符串的应用
2010/03/29 Javascript
MultiSelect左右选择控件的设计与实现介绍
2013/06/08 Javascript
JS匀速运动演示示例代码
2013/11/26 Javascript
使用GruntJS构建Web程序之Tasks(任务)篇
2014/06/06 Javascript
node.js使用npm 安装插件时提示install Error: ENOENT报错的解决方法
2014/11/20 Javascript
jquery实现侧边弹出的垂直导航
2014/12/09 Javascript
ECMAScript6函数剩余参数(Rest Parameters)
2015/06/12 Javascript
推荐三款不错的图片压缩上传插件(webuploader、localResizeIMG4、LUploader)
2017/04/21 Javascript
vue路由中前进后退的一些事儿
2019/05/18 Javascript
Flutter部件内部状态管理小结之实现Vue的v-model功能
2019/06/11 Javascript
es6函数之严格模式用法实例分析
2020/03/17 Javascript
使用python删除nginx缓存文件示例(python文件操作)
2014/03/26 Python
Python中import机制详解
2017/11/14 Python
Python中optparser库用法实例详解
2018/01/26 Python
python3中获取文件当前绝对路径的两种方法
2018/04/26 Python
Python 使用folium绘制leaflet地图的实现方法
2019/07/05 Python
Django模板导入母版继承和自定义返回Html片段过程解析
2019/09/18 Python
Python操作MySQL数据库的示例代码
2020/07/13 Python
瑞典Happy Socks美国官网:购买色彩斑斓的快乐袜子
2016/10/19 全球购物
End Clothing美国站:英国男士潮牌商城
2018/04/20 全球购物
德国网上超市:myTime.de
2019/08/26 全球购物
应届生自我鉴定
2013/12/11 职场文书
自习课吵闹检讨书范文
2014/09/26 职场文书
2015年敬老月活动总结
2015/03/27 职场文书
医疗纠纷调解协议书
2015/08/06 职场文书
Redis如何一键部署脚本
2021/04/12 Redis
深入理解java.lang.String类的不可变性
2021/06/27 Java/Android
Apache Hudi的多版本清理服务彻底讲解
2022/03/31 Servers
CSS子盒子水平和垂直居中的五种方法
2022/07/23 HTML / CSS