用之前所學的知識簡單爬取了一個小說網站
這一次是這個網站
經過簡單的爬取,前面步驟省略
可以得到這么個玩意
以及我想要的鏈接
下一步,開始清除標簽:
此時需要借用正則表達式來進行
首先導入re庫
import re
再然后運用find_all()函數來尋找div標簽下面的di_=list的內容
提取內容
那我們就可以以這里為開頭,進行匹配
那在哪兒結束呢,這就涉及到了網頁開發的知識了,
會有成對的字節,有a,那一定有/a,那也就是說有div,那一定有/div,
.*?呢,它表明了只要是以開頭,以</div>結尾的字段,我都要。
注意每個網站的有可能不一樣,不一定是div,其他的也行,html就是我們要匹配的對象
re.S(注意是大S)是說所有的符號都要匹配,默認換行等不匹配
[0]因為匹配到最后的是列表,要把它提取出來,如果匹配出來的有多個,
那也可以用這個去篩選,他在列表第一個就用[0],第二個就用[1],
一般來說不會出現這種情況,如果有,說明你用來匹配的字段不是唯一的
篩選到這里還是不行,它里面還有一些奇怪的字符
所以還要進行篩選
你不覺得我們要的內容他很有規律嗎,我們只要以這個為模板,進行匹配就好了
(.*?) 這是什么,返向捕獲,返回捕獲的內容,把我們想要的url和章節名稱捕獲就好了
接下來我們循環訪問我們捕獲的url
再把url的內容下載下來就好了,在這之前我們還要再爬一個東西,
我們的小說名字,還是用我們的正則表達式
匹配字段一般來說是在head頭里面
同時還要新建一個文件,以保存小說內容
接下來開始循環獲取章節名和鏈接
再加上前綴域名就ok了
實際效果如下