1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        python 爬取小說并下載【附代碼】

        共 1809字,需瀏覽 4分鐘

         ·

        2020-12-09 23:20

        推薦閱讀??點擊標題可跳轉(zhuǎn)

        新手怎么100天入門Python?

        這篇文章主要介紹了python 爬取小說并下載的示例,幫助大家更好的理解和學(xué)習(xí)python爬蟲

        代碼

        1. import?requests

        2. import?time

        3. from?tqdm?import?tqdm

        4. from?bs4?import?BeautifulSoup

        5. ?

        6. def?get_content(target):

        7. req?=?requests.get(url?=?target)

        8. req.encoding?=?'utf-8'

        9. html?=?req.text

        10. bf?=?BeautifulSoup(html,?'lxml')

        11. texts?=?bf.find('div',?id='content')

        12. content?=?texts.text.strip().split('\xa0'*4)

        13. return?content

        14. ?

        15. if?__name__?==?'__main__':

        16. server?=?'https://www.xsbiquge.com'

        17. book_name?=?'詭秘之主.txt'

        18. target?=?'https://www.xsbiquge.com/15_15338/'

        19. req?=?requests.get(url?=?target)

        20. req.encoding?=?'utf-8'

        21. html?=?req.text

        22. chapter_bs?=?BeautifulSoup(html,?'lxml')

        23. chapters?=?chapter_bs.find('div',?id='list')

        24. chapters?=?chapters.find_all('a')

        25. for?chapter?in?tqdm(chapters):

        26. chapter_name?=?chapter.string

        27. url?=?server?+?chapter.get('href')

        28. content?=?get_content(url)

        29. with?open(book_name,?'a',?encoding='utf-8')?as?f:

        30. f.write(chapter_name)

        31. f.write('\n')

        32. f.write('\n'.join(content))

        33. f.write('\n')

        下載效果:


        可以看到,小說內(nèi)容保存到“詭秘之主.txt”中,小說一共 1416 章,下載需要大約 20 分鐘,每秒鐘大約下載 1 個章節(jié)。

        下載完成,實際花費了 27 分鐘。

        20 多分鐘下載一本小說,你可能感覺太慢了。想提速,可以使用多進程,大幅提高下載速度。如果使用分布式,甚至可以1秒鐘內(nèi)下載完畢。

        但是,我不建議這樣做。

        我們要做一個友好的爬蟲,如果我們?nèi)ヌ崴?,那么我們訪問的服務(wù)器也會面臨更大的壓力。

        以我們這次下載小說的代碼為例,每秒鐘下載 1 個章節(jié),服務(wù)器承受的壓力大約 1qps,意思就是,一秒鐘請求一次。

        如果我們 1 秒同時下載 1416 個章節(jié),那么服務(wù)器將承受大約 1416 qps 的壓力,這還是僅僅你發(fā)出的并發(fā)請求數(shù),再算上其他的用戶的請求,并發(fā)量可能更多。

        如果服務(wù)器資源不足,這個并發(fā)量足以一瞬間將服務(wù)器“打死”,特別是一些小網(wǎng)站,都很脆弱。

        過大并發(fā)量的爬蟲程序,相當于發(fā)起了一次 CC 攻擊,并不是所有網(wǎng)站都能承受百萬級別并發(fā)量的。

        所以,寫爬蟲,一定要謹慎,勿給服務(wù)器增加過多的壓力,滿足我們的獲取數(shù)據(jù)的需求,這就夠了。

        你好,我也好,大家好才是真的好。

        以上就是python 爬取小說并下載的示例的詳細內(nèi)容

        掃下方二維碼加老師微信

        或是搜索老師微信號:XTUOL1988【切記備注學(xué)習(xí)Python】

        領(lǐng)取Python web開發(fā),Python爬蟲,Python數(shù)據(jù)分析,人工智能等學(xué)習(xí)教程。帶你從零基礎(chǔ)系統(tǒng)性的學(xué)好Python!

        也可以加老師建的Python技術(shù)學(xué)習(xí)教程qq裙:245345507,二者加一個就可以!

        歡迎大家點贊,留言,轉(zhuǎn)發(fā),轉(zhuǎn)載,感謝大家的相伴與支持

        萬水千山總是情,點個【在看】行不行

        *聲明:本文于網(wǎng)絡(luò)整理,版權(quán)歸原作者所有,如來源信息有誤或侵犯權(quán)益,請聯(lián)系我們刪除或授權(quán)事宜

        瀏覽 80
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        評論
        圖片
        表情
        推薦
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            综合久久婷婷丁香五月天 | 国产精品视频播放豆花网站 | 久久久91人妻无码精品蜜桃ID | 久久精品无码一区二区无码性色 | 人人操丝袜诱惑熟女 | 天堂网av2014 | 操逼的网| 大香蕉综合网 | 欧美理论片在线观看 | 国产va精品 |