Reptile rampant site de contenu nouveau, et la sortie de chaque chapitre à chaque fichier txt

Tout d'abord, déterminer le lien de site Web

Le code utilisé dans le lien, dans https://www.biqukan.com lien vers la maison de l'élection d'un roman - feuilleton

from bs4 import BeautifulSoup
import requests

link = 'https://www.biqukan.com/1_1094'

En second lieu, la source de la page Voir

Trouvé:
1, le site est GBK de codage
Insérer ici l'image Description
2, section ont tous une étiquette que vous voulez filtrer cette partie
3, nous voulons commencer un chapitre du rouleau du corps, tranche pensé interception
Insérer ici l'image Description

# 获取结果res,编码是gbk(这个网站就是gbk的编码)
res = requests.get(link)
res.encoding = 'gbk'

# 使用BeatifulSoup得到网站中的文本内容
soup = BeautifulSoup(res.text)
lis = soup.find_all('a')	# 
lis = lis[42:-13]           # 不属于章节内容的都去掉
# 用urllist存储所有{章节名称:链接}
urldict = {}

# 观察小说各个章节的网址,结合后面的代码,这里只保留 split_link = 'https://www.biqukan.com/'
tmp = link.split("/")
split_link = "{0}//{1}/".format(tmp[0], tmp[2])

# 将各章节名字及链接形成键值对形式,并添加到大字典 urldict中
for i in range(len(lis)):
    print({lis[i].string: split_link + lis[i].attrs['href']})
    urldict.update({lis[i].string: split_link + lis[i].attrs['href']})

from tqdm import tqdm
for key in tqdm(urldict.keys()):
    tmplink = urldict[key]          # 章节链接
    res = requests.get(tmplink)     # 链接对应的资源文件html
    res.encoding = 'gbk'

    soup = BeautifulSoup(res.text)  # 取资源文件中的文本内容
    content = soup.find_all('div', id='content')[0]  # 取得资源文件中文本内容的小说内容

    with open('text{}.txt'.format(key), 'a+', encoding='utf8') as f:
        f.write(content.text.replace('\xa0', ''))
Publié 131 articles originaux · louange gagné 81 · vues + 60000

Je suppose que tu aimes

Origine blog.csdn.net/weixin_43469047/article/details/104188941
conseillé
Classement