爬蟲爬取百度貼吧 python

2022-06-10 16:03:09 字數 1517 閱讀 4039

本爬蟲是在pycharm中編寫完成,伺服器環境是ubuntu16.04,使用語言是python3,匯入的模組包是requests模組

# 匯入模組

import requests

class tiebaspider(object):

def __init__(self):

self.base_url = ''

self.headers =

self.tieba_name = input('請輸入貼吧名字:')

self.start_page = int(input('請輸入開始頁數:'))

self.end_page = int(input('請輸入結束頁數:'))

# 1.傳送請求,獲得資料

def send_request(self,tieba_params):

response = requests.get(self.base_url,headers=self.headers,params=tieba_params)

data = response.content

return data

# 2.儲存資料

def write_file(self,data,page):

# 設定路徑頁數

file_path = '/home/python/pycharmprojects/scrapy_demo/tieba/' + str(page) + '.html'

# 列印正在抓取的頁數,使用format拼接列印正在抓取的頁數

print('正在抓取第{}頁'.format(page))

with open(file_path,'wb') as f:

f.write(data)

# 3.排程任務

def run(self):

# 迴圈爬取資料

for page in range(self.start_page,self.end_page+1):

# 1.拼接資料

tieba_params =

# 2.傳送請求

data = self.send_request(tieba_params)

# 3.儲存資料

self.write_file(data,page)

if __name__ == '__main__':

# 例項化物件

tool = tiebaspider()

# 呼叫run方法

tool.run()

在編寫除錯過程中,出現了幾個問題,現列舉如下

錯誤問題:

1.爬取網頁時url 填寫http開頭,而不是填寫https開頭

2. user-agent不對(之前一直提取不出來資料,還以為是爬蟲**寫錯了,後來查詢發現是設定的u-a有問題,換了乙個u-a就能將資料爬取出來了),也會提取不出來資料

3.路徑要選擇正確,不要寫錯了,例如 with open('file_path','wb')是錯誤的, with open(file_path,'wb')才是正確的

爬取百度貼吧

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

爬取百度貼吧

帶入需要使用的包 from urllib import request,parse importos 基礎知識 變數賦值 字串賦值 爬取的關鍵字 kw lol 數值賦值 爬取的頁數範圍 start 1end 4 輸出 print kw,start,end 宣告需要爬取的連線 base url 建立資...

Python3爬蟲爬取百度貼吧

1.需求分析 為了爬取貼吧中樓主所發表的帖子,並把內容提取出來儲存到txt檔案中。2.全部 這份 寫的比較早,所以裡面提取內容基本上用的全是正規表示式,並沒有呼叫一些非常高階的包。如下 coding utf 8 import urllib.request import urllib.parse im...