资源简介
分享源码
代码片段和文件信息
‘‘‘
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
评论
共有 条评论