Python筆記-使用 JupiterNotebook 寫一個爬蟲實例

  • 2019 年 12 月 4 日
  • 筆記

使用 Docker 搭建好 PythonJupiterNotebook 的環境後,一直沒有試過具體的開發和項目,正好最近遇到了百度搜索引擎不能收錄部署在 Github page 上的 Hexo 部落格的問題,百度提供了手動提交鏈接的服務,正好寫一個簡單的爬蟲,來爬取 archives 頁面的內容,順帶對 JupiterNotebook 的開發方式做一個歸納。

JupiterNotebook

JupiterNotebook 使用 Docker 部署在伺服器後,即能實現隨時隨地的 Python 開發,新建項目,使用 Terminal 進行操作,甚至都不需要 puttySSH 來鏈接到伺服器。

JupiterNotebook 的功能非常簡單而強大,先從介面說起:

Files 提供了一個直觀的文件管理頁面 Running 則列出了正在運行的終端和筆記

點擊 New 可以新建 PythonNotebookTerminal 以及文件和文件夾。

再看看 Notebook

JupiterNotebook 使用 Cell 來區分程式碼塊,每個程式碼塊可以換號和單獨執行。

  • Enter 回車鍵直接 Cell 內換行
  • Ctrl+Enter 運行本 Cell 程式碼並換號
  • Shift+Enter 新建 Cell

每一個 Cell 可以更變為 Markdown 語法文本,也可以使用 Python 程式碼

Spider

簡單介紹了 JupiterNotebook ,然後就言歸正傳,來看看這個爬取部落格的 archives 頁面的內容的爬蟲。

一切照舊,先引入:

import os  import requests  from bs4 import BeautifulSoup

然後設置頭文件並獲取頁面內容:

headers = {'User-Agent':"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1(KHTML, like Gecko) Chrome/22.0.1207.1 Safari/537.1"}  target_Url = "https://ns96.com/archives/"  ext_html = requests.get(target_Url,headers=headers)

使用 BeautifulSoup 整理並輸出:

soup = BeautifulSoup(ext_html.text,'lxml')  urls = soup.select('a.archive-title')    for link in urls:      print("https://www.ns96.com"+link.get('href'))

最後,源文件地址如下:github