爬取百度贴吧图片的小爬虫

news/2024/7/19 9:33:15 标签: 爬虫
#本来想要爬取百度图片的图片,但是发现那些图片都是js加载的,具体怎么爬取现在还不能搞清。。。。,所以就选择了百度贴吧里面的图片 
#
!/usr/bin/python #coding: utf-8 # # name: download images from baiduTieba # #author: Hacker_MJW # #date: 2014-02-15 # import urllib import urllib2 import re class reptile: def __init__(self, url): self.url = url user_agent = "Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)" self.headers = {'User-Agent': user_agent} def buil_re(self): self.p = re.compile("<img.*?class=\"BDE_Image\"\s*src=\"(.*?)\".*?>") def open_page(self): self.req = urllib2.Request(url=self.url, headers=self.headers ) self.page = urllib2.urlopen(self.req).read().replace('\n', '') def find(self): self.img = self.p.findall(self.page) def cbk(self): self.per = 100.0 * a * b /c if self.per > 100: self.per = 100 print '%.2f%%' % self.per def download(self, total): #这里只爬取了一页,如果需要爬去多页的话,找出下一页的链接即可 n_count = 0 print self.img for img in self.img: urllib.urlretrieve(img, "photos\%s.jpg"%str(n_count)) n_count = n_count + 1 if n_count > total: break print "%s张图片下载完成" % str(total) if __name__ == '__main__': img = reptile('http://tieba.baidu.com/p/2791466984') #这个网址是我自己选的,大家可以换成美女的网址,^_^ img.buil_re() img.open_page() img.find() img.download(50)

 

转载于:https://www.cnblogs.com/MyselfDancing/p/3551173.html


http://www.niftyadmin.cn/n/758647.html

相关文章

Dynamic Programming: From novice to advanced

作者&#xff1a;Dumitru 出处&#xff1a;http://community.topcoder.com/tc?moduleStatic&d1tutorials&d2dynProg An important part of given problems can be solved with the help of dynamic programming (DP for short). Being able to tackle problems of thi…

死锁的处理方法

死锁的相关知识储备 1、死锁的定义 死锁&#xff1a;在并发环境下&#xff0c;各进程因竞争资源而造成的一.种互相等待对方手里的资源&#xff0c;导致各进程都阻塞&#xff0c;都无法向前推进的现象。 2、发生死锁的主要原因 系统资源不足&#xff1b;进程推进顺序非法&am…

ie使用firebug

在网页插入以下代码即可。 <script type"text/javascript" src"http://getfirebug.com/releases/lite/1.2/firebug-lite-compressed.js"></script> https://getfirebug.com/releases/lite/1.2/firebug-lite-compressed.js var firebug{version…

中断处理过程(含8086)

中断处理过程 中断的相关定义 中断&#xff1a;在CPU执行程序的过程中&#xff0c;出现了某种紧急情况或异常的事件时&#xff0c;暂停正在执行的程序&#xff0c;转去处理该事件&#xff0c;并在处理完该事件之后返回断点处&#xff08;指返回主程序时执行的第一条指令的地址…

微机原理复习

微机原理概念复习 微型计算机的基本工作过程&#xff1f;&#xff1f; &#xff08;1&#xff09;首先应把第一条指令所在存储单元的地址赋予程序计数器PC&#xff0c;然后机器就进入取指阶段。 &#xff08;2&#xff09;取指令&#xff1a;在取指阶段&#xff0c;CPU从内存中…

javascript弹出层-DEMO001

首先上一张图 看下弹出层的效果 从图中可以看到二部分 一是弹出层 二是遮照层 弹出层:即弹出你要操作的内容 遮照层:遮照住不要操作的内空 实际技术原理主要是 CSS JS (z-index是核心) CSS部分主要是 z-index (CSS定义为 属性设置元素的堆叠顺序。拥有更高堆叠顺序的元素总是会…

PTA C++ 期末复习

PTA C 期末复习 考试周&#xff0c;最先考的是C&#xff0c;由于我们考试采用的PTA&#xff0c;所以在这里记录一下&#xff0c;考试整理的PTA资料。&#xff08;当然了&#xff0c;都是链接&#xff09; 资料链接如下&#xff1a; 链接&#xff1a;https://pan.baidu.com/s…

Tengine动态模块加载的使用方法

Tengine是由淘宝网发起的Web服务器项目。基于Nginx针对大访问量网站的需求&#xff0c;添加了很多高级功能和特性&#xff0c;目前已开源。Tengine完全兼容Nginx&#xff0c;轻松无缝切换&#xff01;本文主要介绍它的“动态模块加载&#xff08;DSO&#xff09;”的基本使用方…