爬图交互界面及翻页初尝式

# -*- coding:utf-8 -*-

import requests, re, os,urllib2
class TP:
    def __init__(self,baseUrl): #baseUrl是基本地址
    #url = ‘http://tieba.baidu.com/p/5307547413‘
        self.baseURL=baseUrl
        #传入页码,获取该页帖子的代码
    def getPage(self,pageNum):
        try:
            url=self.baseURL+‘?pn=‘+str(pageNum)
        res=urllib2.Request(url)
        html=urllib2.urlopen(res).read().decode(‘UTF-8‘)
        return html

    except urllib2.UrlError,e:#为什么这么写
        if hasattr(e,"reason"):#hasattr是什么意思
        print u‘错误‘,e.reason
        return None
    def getPageNum(self,page):  #获取页码
        page=self.getPage(1)#这个是第一页的网址信息
        pattern=re.compile(‘<li class="l_reply_num" .*?</span>.*?<span.*?>(.*?)</span>‘,re.S)
        result=re.search(pattern,page)
        if result:
            return result.group(1).strip()
        else:
            return None
    #提取图片
    def getContent(self,html):
            header = {
                   ‘Accept‘: ‘*/*‘,
                    ‘Accept-Encoding‘:‘gzip,deflate,sdch‘,
                    ‘Accept-Language‘:‘zh-CN,zh;q=0.8‘,
                    ‘Connection‘:‘keep-alive‘
                    }
            html = requests.get(url,headers = header)

            data = html.content.decode(‘utf-8‘)
            find = re.compile(r‘<img class="BDE_Image" src="(.*?).jpg"‘)
            result = find.findall(data)
            for img_url in result:
                name = img_url.split(‘/‘)[-1]
                img_url = img_url+‘.jpg‘
                html = requests.get(img_url,headers = header)
                im = html.content
                with open(name+‘.jpg‘,‘wb‘)as f:
                    f.write(im)

    def start(self):
        indexPage=self.getPage(1)
        pageN=self.getPageNum(indexPage)

        if pageN==None:
            print "URL error"
            return
        try:
            print u‘该帖子有‘+str(pageN)+‘页!‘#
            for i in range(1,int(pageN)+1):
                print u‘正在读入第‘+str(i)+‘页数据‘
                page=self.getPage(i)
                contents=self.getContent(page)
        except IOError,e:
            print u‘正在写入第‘+str(i)+‘页数据‘
        finally:
            print u‘爬取任务完成^_^‘
print u‘请写入帖子号码‘
baseUrl=‘http://tieba.baidu.com/p/‘+str(raw_input(u‘http://tieba.baidu.com/p/‘))
pt=TP(baseUrl)
pt.start()
            

问题尚未完成,无法翻页且图片出不来,明天瞅瞅语法仔细盘盘逻辑

时间: 2024-10-13 07:57:58

爬图交互界面及翻页初尝式的相关文章

HTML5开发的翻页效果实例

简介2010年F-i.com和Google Chrome团队合力致力于主题为<20 Things I Learned about Browsers and the Web>(www.20thingsilearned.com)的web app的宣传教育.这个项目最主要的思想是在传达,用web展现电子书的内容是最合适的选择.因为展现电子书的内容是前所未有的web技术,我们坚信以现在的技术完全可以用一个容器来展现这样的例子. 书籍的封面同时也是<20 Things I Learned Abou

HTML5 book响应式翻页效果

翻页,HTML5源码下载,HTML5响应式翻页效果,鼠标移到右上角会看到翻页效果,需要鼠标拖动后翻页,支持ie9+,html5浏览器. 单页和双页. 自动播放和暂停. 点击左右翻页. 鼠标点击左右页面区域翻页. 鼠标点击左右页面区域拖拉翻页. ... 运行环境:HTML/PHP/ASP/ASP.NET/JSP... 相关标签:翻页 软件大小:953K 软件属性:共享版 | 简体中文 软件评级: 收录更新:2013-09-02 | 2013-09-02 相关链接:暂无演示 软件介绍: 摘要:HTM

【转】android 欢迎界面翻页成效,仿微信第一次登陆介绍翻页界面

android 欢迎界面翻页效果,仿微信第一次登陆介绍翻页界面 本实例做的相对比较简单主要是对翻页控件的使用,有时候想要做一些功能是主要是先了解下是否有现成的控件可以使用,做起来比较简单不用费太大的劲去找别的资料,或者别的办法设计.有空多读读android API了解熟悉了做什么都比较容易.(注意:ViewPager用于实现多页面的切换效果,该类存在于Google的兼容包里面,所以在引用时记得在BuilldPath中加入“android-support-v4.jar” 如果sdk是4.0及以上的

C#图片采集软件 自动翻页 自动分类(收集美图必备工具)

网站管理员希望将别人的整站数据下载到自己的网站里或者将别人网站的一些内容保存到自己的服务器上.从内容中抽取相关的字段,发布到自己的网站系统中.有时需要将网页相关的文件也保存到本地,如图片.附件等. 图片采集软件能采集任何网站的各种格式图片,实现把所有文章.新闻.帖子等中间的图片全部有有序列的分类后保存到您的计算机上等功能,可以把任何论坛网站的所有帖子的图片采集到本地,轻松过滤广告等,是网站.论坛站长和喜欢收集美图的朋友的必备工具. 本文演示使用C# WebBrowser控件实现自动识别下一页,按

Python-selenium翻页爬取csdn博客保存数据入mysql

csdn博客部分截图 博客链接:https://blog.csdn.net/kevinelstri/article/list/1? 此次目的是要爬取文章标题,发表文章时间以及阅读数量 1.浏览器打开网址,选择一个右击标题,审查元素.如图 通过观察可以发现每篇文章有一个div,格式大多相同,就可以写爬取代码了 2.爬取文章标题,时间,阅读数的网页定位代码: count=driver.find_elements_by_xpath("//div[@class='article-list']/div[p

多个ImageView组成界面实现上下滑动翻页

============问题描述============ 上面这个就是我的手机界面,我想实现用手上下滑动翻页,翻页过后再来更新这10张照片的内容(图片从服务器GET下来已经实现),现在我就是想晓得这个滑动翻页该用什么组件来实现哦,小弟菜鸟一枚,希望大家多给提点哈 ============解决方案1============ 用fragment吧,改一下fragment里面的数据就行了 ============解决方案2============ 搜一下图片播放器吧

Scrapy爬虫案例01——翻页爬取

之前用python写爬虫,都是自己用requests库请求,beautifulsoup(pyquery.lxml等)解析.没有用过高大上的框架.早就听说过Scrapy,一直想研究一下.下面记录一下我学习使用Scrapy的系列代码及笔记. 安装 Scrapy的安装很简单,官方文档也有详细的说明 http://scrapy-chs.readthedocs.io/zh_CN/0.24/intro/install.html .这里不详细说明了. 创建工程 我是用的是pycharm开发,打开pycharm

翻页式爬取百度图片

小编大约于这个月月初写的这一份代码,但很不幸,大概20号,再次找百度图片翻页流的时候,发现是瀑布流且回不去了,还好代码里面留了翻页流的网址 所以,现在来分享给大家. 语言:python3.6 库:requests, re, urllib 除了requests需要pip install之外,其他两个是python自带的模块,直接调用即可. 代码中的原网址:https://image.baidu.com/search/flip?tn=baiduimage&ie=utf-8&word=小姐姐&a

自定义 ViewGroup 支持无限循环翻页之三(响应回调事件)

大家如果喜欢我的博客,请关注一下我的微博,请点击这里(http://weibo.com/kifile),谢谢 转载请标明出处,再次感谢 ####################################################################### 自定义 ViewGroup 支持无限循环翻页系列 自定义 ViewGroup 支持无限循环翻页之一(重写 onLayout以及 dispatchDraw) 自定义 ViewGroup 支持无限循环翻页之二(处理触摸事件)