python百度貼吧爬蟲

2022-05-18 21:08:40 字數 2305 閱讀 4352

#

-*- coding: utf-8 -*-

#coding=utf-8

import

urllib

import

urllib2

import

reimport

thread

import

time

class

bdtb:

def__init__

(self,baseurl,seelz):

self.baseurl=baseurl

self.seelz='

?see_lz=

'+str(seelz)

self.tool=tool()

defgetpage(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

defgettitle(self):

html=self.getpage(1)

pattern = re.compile('

core_title_txt pull-left text-overflow.*?>(.*?)

',re.s)

result =re.search(pattern,html)

ifresult:

print result.group(1)

else

:

return

none

defgetcontent(self,page):

pattern =re.compile('

(.*?)

',re.s)

items =re.findall(pattern,page)

floor=1

for i in

items:

print floor,u'

樓--------------------------------------------\n

'print

self.tool.replace(i)

floor+=1

classtool:

#去除img標籤,1-7位空格, 

removeimg=re.compile('| | ')

#刪除超連結標籤

removeaddr=re.compile('|')

#把換行的標籤換為\n

replaceline=re.compile('|||')

#將**製表替換為\t

replacetd=re.compile('')

#將換行符或雙換行符替換為\n

replacebr=re.compile('|')

#將其餘標籤剔除

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()將前後多餘內容刪除

returnx.strip()

baseurl = '

'bdtb = bdtb(baseurl,2)

bdtb.getcontent(bdtb.getpage(2))

Python爬蟲 百度貼吧

get請求 from urllib import request import urllib import time 第一頁 第二頁 2 1 50 第三頁 3 1 50 第四頁 4 1 50 第n頁 n 1 50 推測第一頁 headers 根據url傳送請求,獲取伺服器響應檔案 defloadpa...

百度貼吧爬蟲

encoding utf 8 import urllib.request import urllib.parse import time import random def load page url 通過url來獲取網頁內容jfa param url 待獲取的頁面 return url對應的網頁內...

3 百度貼吧爬蟲

被寫檔案坑了一晚上,因為自己寫了writefile 但是呼叫的是writefile 剛好python裡面有writefile 所以剛好不報錯!coding utf 8 created on 2018 7月12號 author sss 型別 get請求 from pip.vendor.distlib....