假設(shè)各位老哥已經(jīng)安裝好了bs4 requests這些庫了
這個(gè)小說是隨便挑的,各位也就不用太介意(僅供各位學(xué)習(xí))
python3 實(shí)現(xiàn),網(wǎng)上用python2做爬蟲的太多了,但用python3的還是比較少
雖說步驟四 是脫胎于之前的三個(gè)步驟,但確實(shí)為了更進(jìn)一步而做的一點(diǎn)小突破
這步驟四中,將會(huì)爬取小說對對應(yīng)的目錄鏈接。
通過步驟四中 尋找到的那些url來對逐步訪問,獲取txt并寫入(這個(gè)在之前也都講過了)
沒有看過 步驟一 的朋友們可以點(diǎn)擊下面的鏈接看看步驟一先
點(diǎn)擊查看步驟一沒有看過 步驟二 的朋友們可以點(diǎn)擊下面的鏈接看看步驟二先
點(diǎn)擊查看步驟二沒有看過 步驟三 的朋友們可以點(diǎn)擊下面的鏈接看看步驟三先
點(diǎn)擊查看步驟三獲取整部小說的章節(jié)數(shù)目
通過目錄來進(jìn)行判斷,將那些跟小說無關(guān)的章節(jié) 篩選掉
現(xiàn)在有點(diǎn)晚了,先發(fā)一個(gè)獲取到的目錄代碼,后續(xù)明早在后面補(bǔ)充。有興趣的朋友可以點(diǎn) ‘喜歡’ 這樣就可以保存文章鏈接在之后的喜歡欄中接著看了。(我蠻喜歡這樣做的hihi)

代碼 版本一效果圖
- 代碼 版本一
import requests
from bs4 import BeautifulSoup
content_url = "http://www.biquge.com.tw/4_4038/"
kv = {'user_agent': 'Mozilla/5.0'} # 表示是一個(gè)瀏覽器
try:
r = requests.get(content_url, headers=kv)
r.raise_for_status()
r.encoding = r.apparent_encoding
soup = BeautifulSoup(r.text, 'html.parser')
content_list = soup.find(id='list')
chapter_list = soup.find_all('dd')
for chapter in chapter_list:
print(chapter.find('a').text)
except:
pass
- 代碼 版本二(新版)
import requests
from bs4 import BeautifulSoup
urls = []
title = []
content_url = "http://www.biquge.com.tw/4_4038"
kv = {'user_agent': 'Mozilla/5.0'} # 表示是一個(gè)瀏覽器
book_name = '1.txt' # 設(shè)置一個(gè)Default書名(雖然在后來肯定是會(huì)找到一個(gè)名字的)
try:
r = requests.get(content_url, headers=kv) # 表示自己是一個(gè)瀏覽器
r.raise_for_status() # 如果有問題就會(huì)raise一個(gè)問題
r.encoding = r.apparent_encoding # 根據(jù)網(wǎng)頁返回的編碼 進(jìn)行調(diào)整
soup = BeautifulSoup(r.text, 'html.parser')
content_list = soup.find(id='list')
chapter_list = soup.find_all('dd')
meta = soup.find('head').find(attrs={'property': "og:novel:book_name"})
book_name = meta['content'] + '.txt'
print(book_name[:book_name.index('.txt')] + '寫入中')
for chapter in chapter_list: # 整合得到所有跟內(nèi)容有關(guān)的鏈接(會(huì)有哪些跟內(nèi)容無關(guān)的章節(jié)的)
if '第' in chapter.find('a').text and '章' in chapter.find('a').text:
title.append(chapter.find('a').text)
urls.append(content_url[:content_url.rindex('/')] + chapter.find('a')['href'])
except:
pass
進(jìn)階文章:
爬取小說(步驟五)python
爬取小說(步驟六)python