码迷,mamicode.com
首页 > 其他好文 > 详细

百度贴吧

时间:2017-06-21 19:49:52      阅读:135      评论:0      收藏:0      [点我收藏+]

标签:http   __init__   pat   初始化   core   方法   read   rip   msi   

https://tieba.baidu.com/p/3138733512?see_lz=1&pn=1

# -*- coding:utf-8 -*-
import urllib
import urllib2
import re

#百度贴吧:纯原创我心中的NBA2014-2015赛季现役50大


# https://tieba.baidu.com/p/3138733512?see_lz=1&pn=1
#解释如下:
# http://  代表资源传输使用http协议
# tieba.baidu.com 是百度的二级域名,指向百度贴吧的服务器。
# /p/3138733512 是服务器某个资源,即这个帖子的地址定位符
# see_lz和pn是该URL的两个参数,分别代表了只看楼主和帖子页码,等于1表示该条件为真


class BDTB:

    #初始化方法,传入url,看是否只看楼主的参数
    def __init__(self, baseUrl, seeLz):
        self.baseurl = baseUrl
        self.seelz = ‘?see_lz=‘ + str(seeLz)
        self.user_agent = ‘Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)‘
        #初始化headers
        self.headers = { ‘User-Agent‘ : self.user_agent }


    #方法getPage,获取该页帖子代码的源码
    def getPage(self, pageNum):
        try:
            url = self.baseurl + self.seelz + ‘&pn=‘ + str(pageNum)
            request = urllib2.Request(url,headers = self.headers)
            response = urllib2.urlopen(request)
            pageCode = response.read().decode(‘utf-8‘)
            return pageCode

        except urllib2.URLError, e:
            if hasattr(e,"reason"):
                print u"百度贴吧链接失败,错误原因是:",e.reason
                return None


    #获取帖子标题(使用正则表达式)
    def getTitle(self):
        page = self.getPage(1)
        if not page:
            print "页面加载失败..."
            return None
        pattern = re.compile(‘<h3.*?class="core_title_txt pull-left text-overflow.*?>(.*?)</h3>‘, re.S)
        result = re.search(pattern, page)
        if result:
            print result.group(1).strip()
        else:
            print "None"


            

baseURL = ‘https://tieba.baidu.com/p/3138733512‘
bdtb = BDTB(baseURL, 1)
bdtb.getPage(1)
bdtb.getTitle()

  

百度贴吧

标签:http   __init__   pat   初始化   core   方法   read   rip   msi   

原文地址:http://www.cnblogs.com/blog-acf/p/7061315.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!