博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python百度贴吧爬虫
阅读量:5116 次
发布时间:2019-06-13

本文共 1700 字,大约阅读时间需要 5 分钟。

# -*- coding: utf-8 -*-#coding=utf-8import urllibimport urllib2import reimport threadimport timeclass BDTB:    def __init__(self,baseurl,seeLz):        self.baseUrl=baseurl        self.seeLz='?see_lz='+str(seeLz)        self.Tool=Tool()    def getPage(self,pageNum):        try:            url=self.baseUrl+self.seeLz+'&pn='+str(pageNum)            request = urllib2.Request(url)            response = urllib2.urlopen(request)            return response.read()        except urllib2.URLError, e:            print "链接网络失败"+e.reason            return None    def getTitle(self):        html=self.getPage(1)        pattern = re.compile('core_title_txt pull-left text-overflow.*?>(.*?)',re.S)        result =re.search(pattern,html)        if result:            print result.group(1)        else:            return None    def getContent(self,page):        pattern  =re.compile('
    #去除img标签,1-7位空格, 
    removeImg = re.compile('<img.*?>| {1,7}|&nbsp;')
    #删除超链接标签
    removeAddr = re.compile('<a.*?>|</a>')
    #把换行的标签换为\n
    replaceLine = re.compile('<tr>|<div>|</div>|</p>')
    #将表格制表<td>替换为\t
    replaceTD= re.compile('<td>')
    #将换行符或双换行符替换为\n
    replaceBR = re.compile('<br><br>|<br>')
    #将其余标签剔除
    removeExtraTag = re.compile('<.*?>')
    #将多行空行删除
    removeNoneLine = re.compile('\n+')
 
    def replace(self,x):
 
        x = re.sub(self.removeImg,"",x)
 
        x = re.sub(self.removeAddr,"",x)
 
        x = re.sub(self.replaceLine,"\n",x)
 
        x = re.sub(self.replaceTD,"\t",x)
 
        x = re.sub(self.replaceBR,"\n",x)
 
        x = re.sub(self.removeExtraTag,"",x)
 
        x = re.sub(self.removeNoneLine,"\n",x)
 
        #strip()将前后多余内容删除
 
        return x.strip()
baseURL = 'http://tieba.baidu.com/p/3138733512'bdtb = BDTB(baseURL,2)bdtb.getContent(bdtb.getPage(2))

 

转载于:https://www.cnblogs.com/norm/p/7426279.html

你可能感兴趣的文章
swing入门教程
查看>>
好莱坞十大导演排名及其代表作,你看过多少?
查看>>
Loj #139
查看>>
hihocoder1187 Divisors
查看>>
Azure 托管镜像和非托管镜像对比
查看>>
js window.open 参数设置
查看>>
032. asp.netWeb用户控件之一初识用户控件并为其自定义属性
查看>>
Ubuntu下安装MySQL及简单操作
查看>>
前端监控
查看>>
clipboard.js使用方法
查看>>
移动开发平台-应用之星app制作教程
查看>>
leetcode 459. 重复的子字符串(Repeated Substring Pattern)
查看>>
伪类与超链接
查看>>
centos 7 redis-4.0.11 主从
查看>>
博弈论 从懵逼到入门 详解
查看>>
永远的动漫,梦想在,就有远方
查看>>
springboot No Identifier specified for entity的解决办法
查看>>
慵懒中长大的人,只会挨生活留下的耳光
查看>>
"远程桌面连接--“发生身份验证错误。要求的函数不受支持
查看>>
【BZOJ1565】 植物大战僵尸
查看>>