<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

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

          共 1809字,需瀏覽 4分鐘

           ·

          2020-12-09 23:20

          推薦閱讀??點擊標(biāo)題可跳轉(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é)。

          下載完成,實際花費(fèi)了 27 分鐘。

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

          但是,我不建議這樣做。

          我們要做一個友好的爬蟲,如果我們?nèi)ヌ崴伲敲次覀冊L問的服務(wù)器也會面臨更大的壓力。

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

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

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

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

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

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

          以上就是python 爬取小說并下載的示例的詳細(xì)內(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
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

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

          手機(jī)掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  日日操视频 | 学生妹一级毛片 | 女人18毛片90分钟 | 全网三级视频在线观看 | 日本精品视频 |