中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

使用60行python代碼寫一個簡單的筆趣閣爬蟲

發布時間:2021-01-13 10:48:02 來源:億速云 閱讀:292 作者:小新 欄目:編程語言

這篇文章給大家分享的是有關使用60行python代碼寫一個簡單的筆趣閣爬蟲的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

文章目錄

  • 系列文章目錄

  • 前言

  • 一、網頁解析

  • 二、代碼填寫


    • 1.獲取Html及寫入方法

    • 2.其余代碼

  • 總結


前言

利用python寫一個簡單的筆趣閣爬蟲,根據輸入的小說網址爬取整個小說并保存到txt文件。爬蟲用到了BeautifulSoup庫的select方法
結果如圖所示:
使用60行python代碼寫一個簡單的筆趣閣爬蟲
本文只用于學習爬蟲


一、網頁解析

這里以斗羅大陸小說為例 網址:
http://www.biquge001.com/Book/2/2486/
使用60行python代碼寫一個簡單的筆趣閣爬蟲
可以發現每章的網頁地址和章節名都放在了 <"p id=list dl dd a>中的a標簽中,所以利用BeautfulSoup中的select方法可以得到網址和章節名

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

然后遍歷列表

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

然后每章小說的內容都存放在<p id=“content” 里 同理得
使用60行python代碼寫一個簡單的筆趣閣爬蟲

  substance = Tag.select("p #content")  # 文章的內容

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

使用60行python代碼寫一個簡單的筆趣閣爬蟲

bookName = Tag.select("p #info h2")

二、代碼填寫

1.獲取Html及寫入方法

def getHtmlText(url):
    r = requests.get(url, headers=headers)
    r.encoding = r.apparent_encoding  # 編碼轉換
    r.raise_for_status()
    return r.textdef 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("p #list dl dd a")bookName = Tag.select("p #info h2")for i in bookName:
    bookName1 = i.textif 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("p #content")  # 文章的內容
    for i in substance:
        substanceStr = i.text
    writeIntoTxt(fileName, substanceStr)
    time.sleep(1)

感謝各位的閱讀!關于“使用60行python代碼寫一個簡單的筆趣閣爬蟲”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

衡山县| 阳高县| 民和| 修文县| 海门市| 浪卡子县| 寿光市| 顺平县| 库尔勒市| 玛沁县| 罗定市| 滕州市| 桓台县| 景泰县| 西峡县| 卢龙县| 华宁县| 富阳市| 买车| 康平县| 嘉禾县| 文安县| 赣榆县| 惠州市| 兴安县| 大理市| 禄丰县| 四平市| 宝山区| 云南省| 镇远县| 施秉县| 乳山市| 靖安县| 西宁市| 吴忠市| 平顶山市| 临江市| 平舆县| 阿拉尔市| 灵山县|