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性能优化的20条建议
Oct 25 Python
用Python制作检测Linux运行信息的工具的教程
Apr 01 Python
Python实现简单登录验证
Apr 13 Python
Python实现树的先序、中序、后序排序算法示例
Jun 23 Python
基于python中的TCP及UDP(详解)
Nov 06 Python
tensorflow获取变量维度信息
Mar 10 Python
Python中print函数简单使用总结
Aug 05 Python
python logging日志模块原理及操作解析
Oct 12 Python
Django通用类视图实现忘记密码重置密码功能示例
Dec 17 Python
Django全局启用登陆验证login_required的方法
Jun 02 Python
python和js交互调用的方法
Jun 23 Python
通俗讲解python 装饰器
Sep 07 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读取IMAP邮件
2006/10/09 PHP
php cli 方式 在crotab中运行解决
2010/02/08 PHP
ThinkPHP框架任意代码执行漏洞的利用及其修复方法
2014/07/04 PHP
PHP封装CURL扩展类实例
2015/07/28 PHP
php把字符串指定字符分割成数组的方法
2018/03/12 PHP
Laravel6.0.4中将添加计划任务事件的方法步骤
2019/10/15 PHP
锋利的jQuery 要点归纳(三) jQuery中的事件和动画(上:事件篇)
2010/03/24 Javascript
Javascript处理DOM元素事件实现代码
2012/05/23 Javascript
javascript中的throttle和debounce浅析
2014/06/06 Javascript
jQuery中常用的遍历函数用法实例总结
2015/09/01 Javascript
JavaScript对象数组排序函数及六个用法
2015/12/23 Javascript
探讨AngularJs中ui.route的简单应用
2016/11/16 Javascript
基于JavaScript实现数码时钟效果
2020/03/30 Javascript
jQuery实现获取form表单内容及绑定数据到form表单操作分析
2018/07/03 jQuery
Angular.JS读取数据库数据调用完整实例
2019/07/02 Javascript
利用Vue实现简易播放器的完整代码
2020/12/30 Vue.js
python 合并文件的具体实例
2013/08/08 Python
Python中实现参数类型检查的简单方法
2015/04/21 Python
python中利用队列asyncio.Queue进行通讯详解
2017/09/10 Python
python实现拓扑排序的基本教程
2018/03/11 Python
Python字符串匹配之6种方法的使用详解
2019/04/08 Python
Python中pymysql 模块的使用详解
2019/08/12 Python
Python爬取破解无线网络wifi密码过程解析
2019/09/17 Python
在tensorflow中设置保存checkpoint的最大数量实例
2020/01/21 Python
Python Dict找出value大于某值或key大于某值的所有项方式
2020/06/05 Python
Python3 webservice接口测试代码详解
2020/06/23 Python
伊利莎白雅顿官网:Elizabeth Arden
2016/10/10 全球购物
追悼会上的答谢词
2014/01/10 职场文书
销售人员职业生涯规划范文
2014/03/01 职场文书
法律系毕业生自荐信范文
2014/03/27 职场文书
应届生求职自荐信范文
2014/04/07 职场文书
党员承诺践诺书
2014/05/20 职场文书
幼儿园师德师风学习材料
2014/05/29 职场文书
2015年小学美术工作总结
2015/05/25 职场文书
孝女彩金观后感
2015/06/10 职场文书
同学聚会感言一句话
2015/07/30 职场文书