网络爬虫爬取实例,永久免费的爬虫软件

首页 > 经验 > 作者:YD1662022-11-08 14:34:05

自动高亮显示位置

通过上面的操作,我们能轻松的找到小说文本在网页里的位置,并能知道两个参数,标签:'div';id:'content',然后通过这两个参数提取出小说文本。

import requests from bs4 import BeautifulSoup ...... ...... for i in range(len(dd)): if i == 2: # 临时设置只看第3篇文章的打印效果,用于调试 title = dd[i].find('a').text chap_url = dd[i].find('a')['href'] response1 = requests.get('https://www.biquge.com.cn' chap_url) #访问链接 soup1 = BeautifulSoup(response1.content, 'lxml') # 获得网页 text = soup1.find('div', id='content').text #解析网页获得小说正文 print(text) # 试打印看效果

网络爬虫爬取实例,永久免费的爬虫软件(9)

图8,打印第3篇正文成功

6、保存结果

f = open(path '/' title '.txt', 'a ', encoding='utf-8') # 设置章节标题为文件名 f.write(text) # 写入小说正文

至此,代码完成,能放心下载了。

7、运行效果

我们在完整代码里,设置一次性下载100章节的代码,来看看下载的效果。完整代码:

import requests, os from bs4 import BeautifulSoup url = 'https://www.biquge.com.cn/book/23341/' response = requests.get(url) soup = BeautifulSoup(response.content, 'lxml') booktitle = soup.find('h1').text if not os.path.isdir(booktitle): # 判断当前文件夹下是否存在和小说名同名的文件夹 os.makedirs(booktitle) # 若不存在,则创建小说同名文件夹 dd = soup.find_all('dd') for i in range(len(dd)): if i < 100: title = dd[i].find('a').text chap_url = dd[i].find('a')['href'] response1 = requests.get('https://www.biquge.com.cn' chap_url) soup1 = BeautifulSoup(response1.content, 'lxml') text = soup1.find('div', id='content').text f = open(booktitle '/' title '.txt', 'a ', encoding='utf-8') f.write(text) print("正在下载《 {} 》...... {} / {} ".format(title, i 1, len(dd))) else: break print('本次共下载 {} 章, 保存地址:{}'.format(i, os.getcwd() '\\' booktitle '\\'))

运行效果:

网络爬虫爬取实例,永久免费的爬虫软件(10)

网络爬虫爬取实例,永久免费的爬虫软件(11)

上一页123末页

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.