構建基礎python爬蟲思路

2021-09-24 09:19:08 字數 1593 閱讀 2379

目的意義

基礎爬蟲分5個模組,使用多個檔案相互配合,實現乙個相對完善的資料爬取方案,便於以後更完善的爬蟲做準備。

本文思路**書籍。其**部分**書籍。

功能模組

主檔案:爬蟲排程器,通過呼叫其他檔案中的方法,完成最終功能實現。

設計思路

定義spiderman類作為爬蟲排程器。輸入根url開始爬取資料然後爬取結束。

在爬取過程中,需要獲取網頁,和解析網頁。

解析網頁需要解析的資料有:url,title,context等。則需要url管理器資料儲存器

主檔案設計

根據內容,呼叫解析器:

解析出該url中的新url,存入url管理器;

解析出該url中的標題,文字等資訊,存入資料儲存器。

重複結束以提取出的url數量超過200則結束。

**如下:

作為最初的設計,應該允許異常丟擲,便於檢視程式終止的原因,然後排查錯誤。

html解析器設計

建立相應的解析器,需要開啟原始碼對比,然後進行使用原始碼分析,使用beautifulsoup獲取所需資訊。

為了便於主函式呼叫或者其他原因,將所有資料通過parser實現返回,其parser分別呼叫獲取url和獲取資料文字的資訊。

為了處理一些不同網頁可能抓取的意外情況導致程式終止,新增了一些判斷。

url管理器設計

為了避免重複的url,使用python的set,建立集合初始化。參閱:

使用old_urls儲存已經訪問過的**,使用new_urls存入將要提取的**。

然後寫好has_new_url等方法,輔助主程式呼叫。當得到新的url們時,主程式呼叫函式將他們存入。

而主程式需要的其他url管理方案,如提取,數量判定等,也在這裡實現。

資料儲存器設計

通過html解析器獲取的資料,通過資料儲存器進行儲存。

而最終將資料從記憶體寫入到本地磁碟,也在該檔案實現。

為了除錯美觀,建議是先爬取一兩個資料做好測試,寫好table的寬度設定,加入style='word-break:break-all;word-wrap:break-word;'引數。參閱:

最終效果:

當然還有一些資料沒有處理好。

python爬蟲思路

python2 爬蟲 從網頁上採取資料 爬蟲模組 urllib,urllib2,re,bs4,requests,scrapy,xlml 1.urllib 2.request 3.bs4 4.正則re 5種資料型別 1 數字number 2 字串string 3 列表list 中文在可迭代物件就是un...

Python 爬蟲亂碼解決思路

這裡從網頁的壓縮方式提供兩種解決方法。方法1 檢視headers中是否設定 accept encoding gzip,deflate,br 如果有,修改為 accept encoding gzip 方法2 安裝brotlipy。import brotli data brotli.decompress...

python爬蟲基礎

一 什麼是爬蟲 通常爬蟲是從某個 的某個頁面開始,爬取這個頁面的內容,找到網頁中的其他鏈結位址,然後從這個位址爬到下乙個頁面,這樣一直不停的爬下去,進去批量的抓取資訊。那麼,我們可以看出網路爬蟲就是乙個不停爬取網頁抓取資訊的程式。二 爬蟲的基本流程 1,發起請求 向目標站點傳送乙個requests請...