Python爬蟲——白嫖小說最高境界!


哈嘍大家好  我是阿喵,今天也是學習爬蟲的一天

利用python寫一個簡單的筆趣閣爬蟲,根據輸入的小說網址爬取整個小說並保存到txt文件。爬蟲用到了BeautifulSoup庫的select方法
結果如圖所示:

本文只用於學習爬蟲


一、網頁解析

這里以斗羅大陸小說為例 網址:
http://www.biquge001.com/Book/2/2486/

可以發現每章的網頁地址和章節名都放在了 <"div id=list dl dd a>中的a標簽中,所以利用BeautfulSoup中的select方法可以得到網址和章節名

Tag = BeautifulSoup(getHtmlText(url), "html.parser") #這里的getHtmlText是自己寫的獲取html的方法
urls = Tag.select("div #list dl dd a")

然后遍歷列表

for url in urls:
    href = "http://www.biquge001.com/" + url['href']  # 字符串的拼接 拼接成正確的網址
    pageName = url.text  # 每章的章名

然后每章小說的內容都存放在<div id=“content” 里 同理得

  substance = Tag.select("div #content")  # 文章的內容
  • 1

最后同理在首頁獲取小說的名稱
<"div id = info h1>

bookName = Tag.select("div #info h1")
  • 1

二、代碼填寫

1.獲取Html及寫入方法

def getHtmlText(url):
    r = requests.get(url, headers=headers)
    r.encoding = r.apparent_encoding  # 編碼轉換
    r.raise_for_status()
    return r.text

def writeIntoTxt(filename, content):
    with open(filename, "w", encoding="utf-8") as f:
        f.write(content)
        f.close()
        print(filename + "已完成")

2.其余代碼

代碼如下(示例):

url = "http://www.biquge001.com/Book/2/2486/"
substanceStr = ""
bookName1 = ""
html = getHtmlText(url)
# 判斷是否存在這個文件
Tag = BeautifulSoup(getHtmlText(url), "html.parser")
urls = Tag.select("div #list dl dd a")
bookName = Tag.select("div #info h1")
for i in bookName:
    bookName1 = i.text
if not os.path.exists(bookName1):
    os.mkdir(bookName1)
    print(bookName1 + "創建完成")
else:
    print("文件已創建")
for url in urls:
    href = "http://www.biquge001.com/" + url['href']  # 字符串的拼接 拼接成正確的網址
    pageName = url.text  # 每章的章名
    path = bookName1 + "\\"  # 路徑
    fileName = path + url.text + ".txt"  # 文件名 = 路徑 + 章節名 + ".txt"
    Tag = BeautifulSoup(getHtmlText(href), "html.parser")  # 解析每張的網頁
    substance = Tag.select("div #content")  # 文章的內容
    for i in substance:
        substanceStr = i.text
    writeIntoTxt(fileName, substanceStr)
    time.sleep(1) 

總結

簡單利用了BeautfulSoup的select方法對筆趣閣的網頁進行了爬取
 

在這里還是要推薦下我自己建的Python學習群:609616831,群里都是學Python的,如果你想學或者正在學習Python ,歡迎你加入,大家都是軟件開發黨,不定期分享干貨(只有Python軟件開發相關的),包括我自己整理的一份2020最新的Python進階資料和零基礎教學,歡迎進階中和對Python感興趣的小伙伴加入!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM