最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python 爬取小說(shuō)并下載的示例

 更新時(shí)間:2020年12月07日 15:58:29   作者:Jack-Cherish  
這篇文章主要介紹了python 爬取小說(shuō)并下載的示例,幫助大家更好的理解和學(xué)習(xí)python爬蟲(chóng),感興趣的朋友可以了解下

代碼

import requests
import time
from tqdm import tqdm
from bs4 import BeautifulSoup

"""
  Author:
    Jack Cui
  Wechat:
    https://mp.weixin.qq.com/s/OCWwRVDFNslIuKyiCVUoTA
"""

def get_content(target):
  req = requests.get(url = target)
  req.encoding = 'utf-8'
  html = req.text
  bf = BeautifulSoup(html, 'lxml')
  texts = bf.find('div', id='content')
  content = texts.text.strip().split('\xa0'*4)
  return content

if __name__ == '__main__':
  server = 'https://www.xsbiquge.com'
  book_name = '詭秘之主.txt'
  target = 'https://www.xsbiquge.com/15_15338/'
  req = requests.get(url = target)
  req.encoding = 'utf-8'
  html = req.text
  chapter_bs = BeautifulSoup(html, 'lxml')
  chapters = chapter_bs.find('div', id='list')
  chapters = chapters.find_all('a')
  for chapter in tqdm(chapters):
    chapter_name = chapter.string
    url = server + chapter.get('href')
    content = get_content(url)
    with open(book_name, 'a', encoding='utf-8') as f:
      f.write(chapter_name)
      f.write('\n')
      f.write('\n'.join(content))
      f.write('\n')

下載效果:

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

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

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

但是,我不建議這樣做。

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

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

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

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

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

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

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

以上就是python 爬取小說(shuō)并下載的示例的詳細(xì)內(nèi)容,更多關(guān)于python 爬取小說(shuō)下載的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評(píng)論

六枝特区| 临猗县| 张家口市| 读书| 阿鲁科尔沁旗| 家居| 江西省| 开封县| 车致| 泰来县| 华宁县| 黄山市| 铁力市| 贵定县| 五台县| 南开区| 砀山县| 涟源市| 聂拉木县| 雷州市| 灵武市| 石狮市| 饶平县| 宣汉县| 景东| 宁夏| 阿荣旗| 仁布县| 改则县| 利津县| 大化| 霍城县| 田阳县| 社会| 天峨县| 邓州市| 肇源县| 汉寿县| 德昌县| 民县| 久治县|