| 
 | 
 
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册  
 
x
 
 本帖最后由 johnnyb 于 2020-7-15 16:23 编辑  
 
理论上,只要替换url 和 写入的txt文件名. 即可爬其他任何小说. 具体没测试. 
- import requests
 
 - from bs4 import BeautifulSoup
 
 - import os
 
  
 
- headers = {
 
 -     'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36'
 
 - }
 
 - url = 'http://www.shicimingju.com/book/sanguoyanyi.html'
 
  
- html_text = requests.get(url=url, headers=headers).text  # 获取目录
 
 - soup = BeautifulSoup(html_text, 'lxml')  # lxml解析
 
 - li_list = soup.select('.book-mulu > ul > li')  # 选择标签
 
 - if not os.path.exists('./三国演义'):  # 创建文件夹
 
 -     os.mkdir('./三国演义')
 
 - f = open('./三国演义/sanguo.txt', 'w', encoding='utf-8')  # 创建文件
 
 - for li in li_list:  # 遍历所有的li标签.里面包含有连接和标题
 
 -     title = li.a.string  # 该章节标题
 
 -     info_url = 'http://www.shicimingju.com'+li.a['href']  # 取到该章节的连接,并进行完善
 
 -     info_text = requests.get(info_url, headers=headers).text  # 有了连接,就可以请求对应章节的text
 
 -     info_soup = BeautifulSoup(info_text, 'lxml')  # 还是lxml解析
 
 -     div_tag = info_soup.find('div', class_='chapter_content')  # 定位内容部分标签.
 
 -     data_text = div_tag.get_text()  # 获取正文部分
 
 -     f.write(title+data_text+'\n')  # 写入标题加对应正文.换行符隔开
 
 -     print(title,'爬取写入完成.')
 
  
- print('Over All')
 
  复制代码 
结果预览画面!  请多指教. 
 
 |   
 
 
 
 |