Python爬蟲實踐,獲取百度貼吧內容

2022-05-16 14:16:34 字數 3397 閱讀 4047

貼吧位址 :

python版本 : 3.6

瀏覽器版本: chrome

由於是第乙個實驗性質爬蟲,我們要做的不多,我們需要做的就是:

1、從網上爬下特定頁碼的網頁

2、對於爬下的頁面內容進行簡單的篩選分析

3、找到每一篇帖子的 標題、發帖人、日期、樓層、以及跳轉鏈結

4、將結果儲存到文字。

其實這些都是中文字元,

%e8%a5%bf%e9%83%a8%e4%b8%96%e7%95%8c

在編碼之後就是: 西部世界。

windows的預設編碼是gbk,在處理這個連線的時候,需要我們在python裡手動設定一下,才能夠成功使用。

接著我們翻到貼吧的第二頁:

url:

`url: &pn=50`

注意到沒有,連線的末尾處多了乙個引數&pn=50,

這裡我們很容易就能猜到,這個引數的與頁碼的聯絡:

這下我們就能通過簡單的url修改,達到翻頁的效果了。

要寫爬蟲,我們一定要會使用開發工具,說起來這個工具是給前段開發人員用的,但是我們可以通過它快速定位我們要爬取的資訊,並找到相對應的規律。

我們仔細的觀察一下,發現每個帖子的內容都包裹在乙個li標籤內:

這樣我們只要快速找出所有的符合規則的標籤,

在進一步分析裡面的內容,最後篩選出資料就可以了。

這是前面介紹過的爬取框架,以後我們會經常用到。

import requests 

from bs4 import beautifulsoup

# 首先我們寫好抓取網頁的函式

def get_html(url):

try:

r = requests.get(url,timeout=30)

r.raise_for_status()

r.encoding='utf-8'

return r.text

except:

return " error "

乙個大的li標籤內包裹著很多個 div標籤

而我們要的資訊就在這乙個個div標籤之內:

# 標題&帖子鏈結

rel="noreferrer" href="/p/5803134498" title="【高淸】西部世界1-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...

python百度貼吧爬蟲

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 ...

百度貼吧爬蟲

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