貼吧位址 :
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對應的網頁內...