首先打開考試系統,登錄,進入考試,點擊試題庫。
按F12打開調試窗口,隨便選擇一個題目。
按F12打開調試窗口,Ctrl+Shift+C選擇元素,隨便選擇一個題目
可以看到操作題第一題的 url="index.php?exam-app-questions-detail&questionid=8388"。
將考試系統的地址前綴復制進來得到網址:
"http://112.5.137.43:8019/2020/index.php?exam-app-questions-detail&questionid=8388"
並且觀察到整個題庫中8388為最大編號(第一頁第一個題目),最后面的8286為最小編號(最后一頁最后一個題目)。
用瀏覽器訪問上面那個題目的網址發現可以訪問,並且打開F12調試工具發現body中只有一個表格,格式如下:
科目: |
計算機組裝與維護 |
章節: |
計算機組裝與維護 |
知識點: |
計算機組裝與維護 |
標題: |
請將自己計算機的備用DNS服務器改成:114.114.114.114 |
備選項: |
|
答案: |
|
解析: |
|
難度: |
易 |
在網上搜索“用python爬取網站教程”得到了一個不錯的簡單教程:
https://blog.csdn.net/haoronge9921/article/details/103511467
試着在Pycharm中不設置cookie嘗試爬取上面那個題目網址的網頁
可以看到運行結果為要求用戶登錄的界面
接下來獲取自己的cookie
打開題目頁面且摁F12打開調試,刷新一下,切換到NETWORK欄
點下這玩意
在Headers下面找到自己的cookie 和User-Agent
(其實這一步也可以在APPLICATION欄里完成)
把自己的coockie和User-Agent貼到上面那個教程里獲得的代碼
url替換成題目的url,執行代碼發現可以輸出
接下來直接定義一個for循環,從8286題一直輸出到8388題並打印
結果全部103題都以網頁源碼輸出了:
復制輸出結果出來到txt中。
103題總共是103個table
用SublimeText的批量替換功能去除不需要的行:科目、章節、知識點、解析、難度。
最后將txt后綴改為html得效果如下
接下來把這個網頁導入到Excel表格里(上網查了下才知道有這個功能),順序是:新建個表格,數據->從文本或csv
這里選所有文件
選擇處理好的網頁文件,導入
之后選擇多項,選擇所有題目表格。
處理好后是這樣有一百多個工作表
用WPS合並所有工作表,這功能需要WPS會員,巧的是這軟件突然就送我了個7天體驗會員,就用上了。
合並表格后,用WPS將其復制到WORD中。
稍微修改一下格式,美化下,就得到了新鮮出爐的題庫Word文件。