91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 6KB
    文件類型: .py
    金幣: 1
    下載: 1 次
    發(fā)布日期: 2021-06-05
  • 語言: Python
  • 標(biāo)簽: python3??

資源簡介

分享源碼

資源截圖

代碼片段和文件信息

‘‘‘
Created?on?2016年3月31日

@author:?yawenchen
‘‘‘

#?-*-?coding:utf-8?-*-
from?urllib.error?import?HTTPErrorURLError
import?urllib.request
import?re
import?urllib.parse

#處理頁面標(biāo)簽類
class?Tool:
????#去除img標(biāo)簽,7位長空格??,{m}匹配前一個字符m次
????removeImg?=?re.compile(‘|?{7}|‘)???

????#刪除超鏈接標(biāo)簽
????removeAddr?=?re.compile(‘|‘)
????
????#把換行的標(biāo)簽換成\n
????replaceLine?=?re.compile(‘|
|
|

‘)
????
????#將表格制表替換為\t
????replaceTD?=?re.compile(‘‘)
????
????#把段落開頭換為\n加空兩格
????replacePara?=?re.compile(‘‘)
????
????#將換行符或雙換行符替換為\n
????replaceBR?=?re.compile(‘

|
‘)
????
????#將其余標(biāo)簽剔除
????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()將前后多余內(nèi)容刪除
????????return?x.strip()
????


#百度貼吧爬蟲類
class?BDTB:

????#初始化,傳入基地址,是否只看樓主的參數(shù)
????def?__init__(selfbaseUrlseeLZfloorTag):
????????#base鏈接地址
????????self.baseURL?=?baseUrl
????????#是否只看樓主
????????self.seeLZ?=?‘?see_lz‘+str(seeLZ)
????????#html標(biāo)簽剔除工具類對象
????????self.tool?=?Tool()
????????#全局file變量,文件寫入操作對象
????????self.file?=?None
????????#樓層標(biāo)號,初始為1
????????self.floor?=?1
????????#默認(rèn)的標(biāo)題,如果沒有成功獲取到標(biāo)題的話,則會用這個標(biāo)題
????????self.defaulttitle?=?u“百度貼吧“
????????#是否寫入樓層分割符的標(biāo)記
????????self.floorTag?=?floorTag
????
????#傳入頁碼,獲取該頁帖子的代碼
????def?getPage(selfpageNum):
????????try:
????????????#構(gòu)建URL
????????????url?=?self.baseURL?+?self.seeLZ?+?‘&pn=‘?+?str(pageNum)
????????????request?=?urllib.request.Request(url)
????????????response?=?urllib.request.urlopen(request)
????????????#返回utf-8格式編碼內(nèi)容
????????????return?response.read().decode(‘utf-8‘)
????????except?URLError?as?e:
????????????if?hasattr(e“reason“):
????????????????print(“連接百度貼吧失敗,錯誤原因:“e.reason)
????????????????return?None

????#獲取帖子標(biāo)題
????def?gettitle(selfpage):
????????#得到標(biāo)題的正則表達(dá)式
????????pattern?=?re.compile(‘tle_txt.*?>(.*?)‘re.S)
????????result?=?re.search(patternpage)
????????if?result:
#?????????????print(“標(biāo)題:“result.group(1))??#測試輸出
????????????#如果標(biāo)題存在,則返回標(biāo)題
????????????return?result.group(1).strip()
????????else:
????????????return?None

????#獲取帖子一共有多少頁
????def?getPageNum(self

評論

共有 條評論