爬蟲專案學習

2021-10-08 07:12:29 字數 1587 閱讀 1051

思維方式

線性思維方式與發散思維方式

軟體開發思想

模組思維

漸進式開發

生成需求說明文件

內容:對需求中不明確或不完善的說明進行解釋

功能點、附加要求、效能要求

業務設計:

如何思考並完成設計? 從頂層開始思考並設計,避免過早陷入細節

系統最簡單資料流

系統設計:

設計階段必不可少,設計可以明確思路,提高效率和**質量

詳細設計:對系統或模組設計要有輸入和輸出

控制器模組由三個模組組成:

1、配置檔案處理模組:從配置檔案中讀取配置項,提供配置項的提取介面

2、url維護模組:負責維護url庫,提供如下功能

a)輸入新的url

b)輸出乙個未抓取的url

c)負責維護url的抓取狀態

3、任務排程模組

a)負責協調控制器的流程

b)負責呼叫其他系統模組完成工作

4、維護url列表資料結構

控制器配置檔案設計

配置檔案解析模組

配置檔案是以檔案形勢儲存程式執行時必要的引數,減少輸入時的繁瑣過程

檔案型別是文字檔案,內容一般以鍵值對形式出現。

概要設計:

配置檔案內容:

key=value 格式

注釋規則:注釋字串前以「#」標記

配置項設定

專案字段

併發任務數

job num

url種子

seed

抓取深度

deeps

輸出日誌的等級

log level

模組存防路徑(唯一)

module path

模組名稱(模組檔名,可多個)

module name

允許抓取的資源型別(多個,字尾)

file type

模組詳細設計

操作:1·讀取配置檔案

2·得到配置檔案選項的值(鍵值)

3·初始化

//類設計偽**

class

configparser

技術點

1、按行讀取fgets

2、分割字串

3、消除注釋

4、消除空格

控制器url維護模組設計

分析:url格式:

設計url的資料結構

專案欄位名稱

完整url

url協議型別

protocal

網域名稱sitename

資源路徑

path

檔名filename

當前url狀態 (0-未抓取 1-抓取成功 -1-抓取失敗)

state

當前url深度

deep

當前資源型別

filetpe

http協議請求頁面流程

建立爬蟲專案

主要四個步驟 1.執行scrapy startproject project name 建立專案框架 執行 scrapy genspider spider name domain.com 建立爬蟲基本格式檔案 2.編輯items item.py檔案明確獲取的資料字段 3.編寫spiders 目錄下的...

爬蟲專案筆記

爬蟲分為垂直爬蟲 全網爬蟲兩種 爬蟲的基礎架構 資料解析 資料解析技術分別有四種 dom 最原始最基礎需要將所有資訊都載入到記憶體裡對記憶體消耗比較大,如果xml檔案比較大,容易影響解析的效能,可能會造成記憶體溢位。應用程式通過dom介面,應用程式在任何時候都能訪問xmlwendan文件中的任何資料...

爬蟲小專案

將爬取到的資料儲存在csv檔案中 由於習慣 作者會將獲取到的資料儲存 然後在儲存的檔案中進行匹配 這樣會降低程式執行時間 import requests from lxml import html from bs4 import beautifulsoup url headers res reque...