资源简介
分享源码
代码片段和文件信息
‘‘‘
Created on 2016年3月31日
@author: yawenchen
‘‘‘
# -*- coding:utf-8 -*-
from urllib.error import HTTPErrorURLError
import urllib.request
import re
import urllib.parse
#处理页面标签类
class Tool:
#去除img标签,7位长空格 ,{m}匹配前一个字符m次
removeImg = re.compile(‘| {7}|‘)
#删除超链接标签
removeAddr = re.compile(‘|‘)
#把换行的标签换成\n
replaceLine = re.compile(‘|||‘)
#将表格制表替换为\t
replaceTD = re.compile(‘‘)
#把段落开头换为\n加空两格
replacePara = re.compile(‘‘)
#将换行符或双换行符替换为\n
replaceBR = re.compile(‘
|
‘)
#将其余标签剔除
removeExtraTag = re.compile(‘<.*?>‘)
def replace(selfx):
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.replacePara“\n“x)
x = re.sub(self.replaceBR“\n“x)
x = re.sub(self.removeExtraTag““x)
#strip()将前后多余内容删除
return x.strip()
#百度贴吧爬虫类
class BDTB:
#初始化,传入基地址,是否只看楼主的参数
def __init__(selfbaseUrlseeLZfloorTag):
#base链接地址
self.baseURL = baseUrl
#是否只看楼主
self.seeLZ = ‘?see_lz‘+str(seeLZ)
#html标签剔除工具类对象
self.tool = Tool()
#全局file变量,文件写入操作对象
self.file = None
#楼层标号,初始为1
self.floor = 1
#默认的标题,如果没有成功获取到标题的话,则会用这个标题
self.defaulttitle = u“百度贴吧“
#是否写入楼层分割符的标记
self.floorTag = floorTag
#传入页码,获取该页帖子的代码
def getPage(selfpageNum):
try:
#构建URL
url = self.baseURL + self.seeLZ + ‘&pn=‘ + str(pageNum)
request = urllib.request.Request(url)
response = urllib.request.urlopen(request)
#返回utf-8格式编码内容
return response.read().decode(‘utf-8‘)
except URLError as e:
if hasattr(e“reason“):
print(“连接百度贴吧失败,错误原因:“e.reason)
return None
#获取帖子标题
def gettitle(selfpage):
#得到标题的正则表达式
pattern = re.compile(‘tle_txt.*?>(.*?)‘re.S)
result = re.search(patternpage)
if result:
# print(“标题:“result.group(1)) #测试输出
#如果标题存在,则返回标题
return result.group(1).strip()
else:
return None
#获取帖子一共有多少页
def getPageNum(self
相关资源
- python3.5可用的scipy
- PYTHON3 经典50案例.pptx
- python3.5.2.chm官方文档
- python3.5.4_windows下32与64位安装包
- GitHack-python3.zip
- Python3.x+PyQtChart实现数据可视化界面
- python3根据模板图片批量自动制作个性
- 《机器学习实战》源代码Python3
- Python3.5.2的IDLE汉化版计算机等级考试
- python3.5 百度ai人脸识别
- python3实现的国密SM2+SM3
- python100道面试题及解答全部答案 pyc
- #python3.3关于Tk中的Treeview使用方法
- Python3.x+Pyqt5实现界面编程浏览网页
- 《机器学习实战》Python3代码
- Python3学习笔记
- Python3.7.2中文文档-标准库-通用操作系
- Python3.7.2中文文档-标准库-Python数据类
- python3基础教程第三版高清
- 随机森林python3实现代码(带数据集)
- dlib-19.18.0-cp37-cp37m-linux_armv7l.whl
- python3学习路线+思维导图
- Learn python3 the hard way
- 笨办法学python 3 第四版 英文
- python3爬虫
- Beginning Python: From Novice to Professional
- Python3实现KNN的三个包含数据集,水果
- python3中文帮助手册和英文帮助手册
- 基于协同过滤的电影推荐系统 python
- 廖雪峰Python3完整版PDF
评论
共有 条评论