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基础教程之常用运算符
Aug 29 Python
数据挖掘之Apriori算法详解和Python实现代码分享
Nov 07 Python
Python Web框架Flask中使用百度云存储BCS实例
Feb 08 Python
Python实现的数据结构与算法之快速排序详解
Apr 22 Python
对Python中内置异常层次结构详解
Oct 18 Python
python引用(import)某个模块提示没找到对应模块的解决方法
Jan 19 Python
Django中自定义admin Xadmin的实现代码
Aug 09 Python
numpy求平均值的维度设定的例子
Aug 24 Python
python取均匀不重复的随机数方式
Nov 27 Python
解决tensorflow打印tensor有省略号的问题
Feb 04 Python
基于python实现删除指定文件类型
Jul 21 Python
浅谈Python中对象是如何被调用的
Apr 06 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脚本使WordPress拦截垃圾评论的方法示例
2015/12/10 PHP
[原创]PHP正则匹配中英文、数字及下划线的方法【用户名验证】
2017/08/01 PHP
Javascript客户端将指定区域导出到Word、Excel的代码
2008/10/22 Javascript
javascript 程序库的比较(一)之DOM功能
2010/04/07 Javascript
基于JQuery的类似新浪微博展示信息效果的代码
2012/07/23 Javascript
jQuery 中的 DOM 操作
2016/04/26 Javascript
mvvm双向绑定机制的原理和实现代码(推荐)
2016/06/07 Javascript
JS图片定时翻滚效果实现方法
2016/06/21 Javascript
AngularJS中比较两个数组是否相同
2016/08/24 Javascript
AngularJS入门教程二:在路由中传递参数的方法分析
2017/05/27 Javascript
layer弹出层取消遮罩的方法
2019/09/25 Javascript
JavaScript交换两个变量方法实例
2019/11/25 Javascript
Vue.js 中制作自定义选择组件的代码附演示demo
2020/02/28 Javascript
[01:29]Ti4循环赛第三日精彩回顾
2014/07/13 DOTA
[02:19]2018年度DOTA2最佳核心位选手-完美盛典
2018/12/17 DOTA
python缩进区别分析
2014/02/15 Python
python smtplib模块发送SSL/TLS安全邮件实例
2015/04/08 Python
使用rst2pdf实现将sphinx生成PDF
2016/06/07 Python
python遍历文件夹下所有excel文件
2018/01/03 Python
Python3.6日志Logging模块简单用法示例
2018/06/14 Python
Python数据类型之列表和元组的方法实例详解
2019/07/08 Python
python爬虫项目设置一个中断重连的程序的实现
2019/07/26 Python
Django使用 Bootstrap 样式修改书籍列表过程解析
2019/08/09 Python
Python 解析pymysql模块操作数据库的方法
2020/02/18 Python
浅析NumPy 切片和索引
2020/09/02 Python
微信端html5页面调用分享接口示例
2018/03/14 HTML / CSS
英国巧克力贸易公司:Chocolate Trading Company
2017/03/21 全球购物
allbeauty美国:英国在线美容店
2019/03/11 全球购物
90后毕业生的求职信范文
2013/09/21 职场文书
大众服装店创业计划书范文
2014/01/01 职场文书
党员群众路线承诺书
2014/05/20 职场文书
促销活动总结模板
2014/07/01 职场文书
2014教师党员个人自我评议
2014/09/20 职场文书
2019年大学毕业生个人自我鉴定范文大全
2019/03/21 职场文书
Golang 并发下的问题定位及解决方案
2022/03/16 Golang
VUE解决跨域问题Access to XMLHttpRequest at
2022/05/06 Vue.js