利用爬蟲爬取百度貼吧內容

2022-09-03 14:21:09 字數 2528 閱讀 5168

#

_*_ coding:utf-8 _*_ #識別中文注釋的意思

import urllib.request #

匯入urllib包中的request模組,主要是獲取網頁內容

def load_page(url): #

'''傳送url請求

返回url請求的靜態html頁面

'''#

user_agent ="mozilla/5.0 (windows nt 10.0; …) gecko/20100101 firefox/60.0" #模擬瀏覽器的**

#header = #請求頭為乙個dict型別

response = urllib.request.urlopen(url) #

向伺服器傳送網頁內容request,請求並獲得伺服器的反饋內容

html = response.read() #

反饋的內容讀取放置到response例項化物件中

return (html) #

函式返回網頁內容

def write_to_file(file_name,txt): #

定義寫入檔案的函式

'''將txt文字存入到file_name

'''print("

正在儲存檔案

" + file_name) #

字串相加

#1 開啟檔案

f = open(file_name,'

w') #

以write方式開啟檔案,檔案有內容則清除再寫入,檔案沒有則新增,沒指定目錄則放在當前目錄

#2 讀寫檔案

f.write(str(txt)) #

把網頁內容寫入檔案

#3 關閉檔案

f.close() #

關閉檔案,不然佔記憶體

def tieba_spider(url,begin_page,end_page): #

定義爬蟲函式,引數個數看函式體需要

'''貼吧小爬蟲的方法

'''for i in range(begin_page,end_page + 1): #

迴圈爬取使用者指定網頁頁碼範圍

#i = 1, pn = 0 ,根據**找出規律:

#i = 2, pn = 50 ,根據**找出規律:

#i = 3, pn = 100 ,根據**找出規律:

#...

pn = 50 * (i - 1) #

找出頁碼跟i的規律

#組成乙個完整url

my_url = url +str(pn) #

網頁的通用寫法##

print my_url

html = load_page(my_url) #

#print("*****第%d頁*****"%(i))

#print(html)

#print("***************=")

file_name = str(i)+"

.html"#

定義檔名的寫法

write_to_file(file_name,html) #

以檔名和網頁為引數呼叫寫入檔案的函式

if__name__ == '

__main__

': #

限本包內使用

url = input("

") #

請求使用者輸入貼吧通用網頁字首

#print url

begin_page =int(input("

請輸入起始頁數:

")) #

請求使用者輸入起始頁碼

end_page = int(input("

請輸入最終頁數:

")) #

請求使用者輸入結束頁碼

tieba_spider(url,begin_page,end_page) #

建立爬蟲並開始執行

爬蟲實踐 爬取百度貼吧內容

貼吧位址 python版本 3.6 瀏覽器 chrome 從網上爬下特定頁碼的網頁 對於爬下的頁面內容進行簡單的篩選分析 找到每一篇帖子的 標題 發帖人 發帖時間 將結果儲存到文字。二 分析 位址中這些都是中文字元,e7 94 9f e6 b4 bb e5 a4 a7 e7 88 86 e7 82 ...

爬蟲爬取百度貼吧 python

本爬蟲是在pycharm中編寫完成,伺服器環境是ubuntu16.04,使用語言是python3,匯入的模組包是requests模組 匯入模組 import requests class tiebaspider object def init self self.base url self.head...

爬取百度貼吧

import urllib.request import urllib.parse import os,time 輸入貼吧名字 baname input 請輸入貼吧的名字 start page int input 請輸入起始頁 end page int input 請輸入結束頁 不完整的url ur...