Python爬虫之爬取小说章节目录

别说谁变了你拦得住时间么 提交于 2020-03-02 19:30:08

1. 网络爬虫的定义

  • 模拟浏览器自动的浏览网页
  • 自动的批量的采集我们需要的网络资源
  • 一个脚本(程序)

1.1 网络资源有哪些?

  • 网页
  • 图片
  • 视频
  • 音频
  • 文件

2. 开发爬虫的步骤

  • 目标数据(网站、页面)
  • 分析数据加载流程(分析目标数据所对应的url)
  • 下载数据
  • 清洗,处理数据
  • 数据持久化

3. 小说章节链接爬取

操作环境:python3.8.1
模块:bs4、requsets、re

操作代码:
from bs4 import BeautifulSoup
# 导入requests模块
import requests
# 导入re(正则)模块
import re

# 下载一个网页
url='https://book.qidian.com/info/1016572786'
# 模拟浏览器发送http请求
response = requests.get(url)
# 目标小说主页的网页源码
HTML = response.text
# 获取小说的名字
title = re.findall(r'<em>(.*?)</em>',HTML)[0]
# 新建一个文件,保存小说内容
fb = open('%s.txt' % title,'w',encoding='utf-8')   #把title放在s.txt里面,s.txt相当于一个占位符
# 获取每一章的信息(章节,url)
ul = re.findall(r'<ul class="cf">.*?</ul>',HTML,re.S)[0] #[0]指列表
# 提取 url、章节信息
chapter_info_list = re.findall(r'href="(.*?)">(.*?)<',ul)

# 循环每一个章节,分别去下载
for chapter_info in chapter_info_list:
    chapter_url, chapter_title = chapter_info
    chapter_url = "https://book.qidian.com%s" % chapter_url
    print(chapter_url, chapter_title)

    # 下载章节内容
    chapter_response = requests.get(chapter_url)
    chapter_response.encoding = 'utf-8'
    chapter_HTML = chapter_response.text

    # 提取章节内容
    chapter_content = re.compile('.*?<div class="read-content j_readContent">(.*?)</div>',re.S)
    test = re.findall(chapter_content,HTML)

    # 数据持久化
    fb.write(chapter_title)
    fb.write('\n')

    print(chapter_url)

运行结果:
"D:\python 3.8.1\python.exe" C:/Users/Lenovo/Desktop/小说.py
https://book.qidian.com//read.qidian.com/chapter/XtIxtJwLQQA3v1oFI-DX8Q2/PaHqeKHJRV9OBDFlr9quQA2" target="_blank" data-eid="qd_G55" data-cid="//read.qidian.com/chapter/XtIxtJwLQQA3v1oFI-DX8Q2/PaHqeKHJRV9OBDFlr9quQA2" title="首发时间:2019-10-13 00:08:48 章节字数:2735 第一章 小小灵娥
https://book.qidian.com//read.qidian.com/chapter/XtIxtJwLQQA3v1oFI-DX8Q2/d1ffQmfmpM7M5j8_3RRvhw2" target="_blank" data-eid="qd_G55" data-cid="//read.qidian.com/chapter/XtIxtJwLQQA3v1oFI-DX8Q2/d1ffQmfmpM7M5j8_3RRvhw2" title="首发时间:2019-10-13 10:14:48 章节字数:2880 第二章 师兄的入门审核
https://book.qidian.com//read.qidian.com/chapter/XtIxtJwLQQA3v1oFI-DX8Q2/gtiigoM6E_T6ItTi_ILQ7A2" target="_blank" data-eid="qd_G55" data-cid="//read.qidian.com/chapter/XtIxtJwLQQA3v1oFI-DX8Q2/gtiigoM6E_T6ItTi_ILQ7A2" title="首发时间:2019-10-14 00:04:54 章节字数:2531 第三章 入门第一课
https://book.qidian.com//read.qidian.com/chapter/XtIxtJwLQQA3v1oFI-DX8Q2/IkkzqBynG522uJcMpdsVgA2" target="_blank" data-eid="qd_G55" data-cid="//read.qidian.com/chapter/XtIxtJwLQQA3v1oFI-DX8Q2/IkkzqBynG522uJcMpdsVgA2" title="首发时间:2019-10-15 00:03:32 章节字数:3466 第四章 世界很危险
https://book.qidian.com//read.qidian.com/chapter/XtIxtJwLQQA3v1oFI-DX8Q2/cjyJdr8Tw536ItTi_ILQ7A2" target="_blank" data-eid="qd_G55" data-cid="//read.qidian.com/chapter/XtIxtJwLQQA3v1oFI-DX8Q2/cjyJdr8Tw536ItTi_ILQ7A2" title="首发时间:2019-10-16 00:29:28 章节字数:2808 第五章 师妹的夜间补习
......
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!