国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Python3 爬蟲 requests+BeautifulSoup4(BS4) 爬取小說網站數據

taoszu / 3490人閱讀

摘要:剛學爬蟲不久,迫不及待的找了一個網站練手,新筆趣閣一個小說網站。繼續學習,有改進方案的歡迎提出來,一起交流。

剛學Python爬蟲不久,迫不及待的找了一個網站練手,新筆趣閣:一個小說網站。

前提準備

安裝Python以及必要的模塊(requests,bs4),不了解requests和bs4的同學可以去官網看個大概之后再回來看教程

爬蟲思路

剛開始寫爬蟲的小白都有一個疑問,進行到什么時候爬蟲還會結束呢?答案是:爬蟲是在模擬真人在操作,所以當頁面中的next鏈接不存在的時候,就是爬蟲結束的時候。

1.用一個queue來存儲需要爬蟲的鏈接,每次都從queue中取出一個鏈接,如果queue為空,則程序結束
2.requests發出請求,bs4解析響應的頁面,提取有用的信息,將next的鏈接存入queue
3.用os來寫入txt文件
具體代碼

需要把域名和爬取網站對應的ip 寫入host文件中,這樣可以跳過DNS解析,不這樣的話,代碼運行一段時間會卡住不動

"""
抓取新筆趣閣https://www.xbiquge6.com/單個小說
爬蟲線路: requests - bs4 - txt
Python版本: 3.7
OS: windows 10
"""
import requests
import time
import sys
import os
import queue
from bs4 import BeautifulSoup 
# 用一個隊列保存url
q = queue.Queue()
# 首先我們寫好抓取網頁的函數
def get_content(url):

    try:
        headers = {
            "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.67 Safari/537.36",
        }

        r = requests.get(url=url, headers=headers)
        r.encoding = "utf-8"
        content = r.text
        return content
    except:
        s = sys.exc_info()
        print("Error "%s" happened on line %d" % (s[1], s[2].tb_lineno))
        return " ERROR "

# 解析內容
def praseContent(content):
    soup = BeautifulSoup(content,"html.parser")
    chapter = soup.find(name="div",class_="bookname").h1.text
    content = soup.find(name="div",id="content").text
    save(chapter, content)
    next1 = soup.find(name="div",class_="bottem1").find_all("a")[2].get("href")
    # 如果存在下一個章節的鏈接,則將鏈接加入隊列
    if next1 != "/0_638/":
        q.put(base_url+next1)
    print(next1)
# 保存數據到txt
def save(chapter, content):
    filename = "修羅武神.txt"
    f =open(filename, "a+",encoding="utf-8")
    f.write("".join(chapter)+"
")
    f.write("".join(content.split())+"
") 
    f.close

# 主程序
def main():
    start_time = time.time()
    q.put(first_url)
    # 如果隊列為空,則繼續
    while not q.empty():
        content = get_content(q.get())
        praseContent(content)
    end_time = time.time()
    project_time = end_time - start_time
    print("程序用時", project_time)

# 接口地址
base_url = "https://www.xbiquge6.com"
first_url = "https://www.xbiquge6.com/0_638/1124120.html"
if __name__ == "__main__":
    main()
總結

結果蠻成功的吧,就是過程比較慢,程序用時1個半小時。。23333繼續學習,有改進方案的歡迎提出來,一起交流。
QQ:1156381157

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/42726.html

相關文章

  • Python爬蟲基礎

    摘要:爬蟲架構架構組成管理器管理待爬取的集合和已爬取的集合,傳送待爬取的給網頁下載器。網頁下載器爬取對應的網頁,存儲成字符串,傳送給網頁解析器。從文檔中獲取所有文字內容正則匹配后記爬蟲基礎知識,至此足夠,接下來,在實戰中學習更高級的知識。 前言 Python非常適合用來開發網頁爬蟲,理由如下:1、抓取網頁本身的接口相比與其他靜態編程語言,如java,c#,c++,python抓取網頁文檔的接...

    bang590 評論0 收藏0
  • python爬蟲——爬取小說 | 探索白子畫和花千骨的愛恨情仇

    摘要:先打開花千骨小說的目錄頁,是這樣的。網頁結構分析首先,目錄頁左上角有幾個可以提高你此次爬蟲成功后成就感的字眼暫不提供花千骨全集下載。打開盤查看花千骨文件。 知識就像碎布,記得縫一縫,你才能華麗麗地亮相。 1.Beautiful Soup 1.Beautifulsoup 簡介 此次實戰從網上爬取小說,需要使用到Beautiful Soup。Beautiful Soup為python的...

    newsning 評論0 收藏0
  • 關于爬蟲解析數據的4種方式

    摘要:大奉打更人賣報小郎君這個人仙太過正經言歸正傳從紅月開始黑山老鬼穩住別浪跳舞二解析數據是一個可以從或文件中提取數據的庫。 目錄 一、XPath解析數據 1、XPath解析數據 2、XML的樹形結構 3、使用XPath選取節點 4、課堂案例 - 爬取起點小說網 二、BeautifulSoup解析...

    newtrek 評論0 收藏0
  • 新聞爬蟲倒騰筆記

    摘要:新聞爬蟲在列表頁獲取列表和時間材料,開發人員工具,插件,,安裝包使用開發人員工具分析網站右鍵或打開,刷新載入打開頁簽,點選第二排的小漏斗,點入頁面,因為新聞都有被檢索到的需要,所以一般情況下都可以在第一個文檔中找到需要的信息。 新聞爬蟲1.0 在列表頁獲取列表和時間 材料:Pycharm,Chrome開發人員工具,infoLite插件,bs4,request 安裝包 pip insta...

    April 評論0 收藏0
  • Python3 爬蟲 scrapy框架 爬取小說網站數據

    摘要:上次用寫的爬蟲速度很感人,今天打算用框架來實現,看看速度如何。 上次用requests寫的爬蟲速度很感人,今天打算用scrapy框架來實現,看看速度如何。 爬蟲步驟 第一步,安裝scrapy,執行一下命令 pip install Scrapy 第二步,創建項目,執行一下命令 scrapy startproject novel 第三步,編寫spider文件,文件存放位置novel/spi...

    王陸寬 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<