学习笔记:【python】采集**本子,不要看了,快进来~
优采云 发布时间: 2022-12-01 13:39学习笔记:【python】采集**本子,不要看了,快进来~
前言
大家早安,午安,晚安~
相信很多朋友都知道这个网站,尤其是第二期
看到博主了哈哈哈哈
这是我今天得到的,所以让我们采集
它
目录标题
代码显示
# 导入数据请求模块 --> 第三方模块 需要 pip install requests
import requests
# 导入数据解析模块 --> 第三方模块 需要 pip install parsel
import parsel
# 导入正则模块 --> 内置模块 不需要安装
import re
from show import get_content
请求目录页面url
本文只是一般展示,完整代码和视频教程请点击下方蓝字
点蓝色字体自己去拿,我放在这里。
模拟浏览器发送请求本子目录页面的url地址
模拟浏览器头请求头字典数据类型
headers = {
# Cookie 用户信息, 检测是否有登陆账号
'Cookie': '',
# User-Agent 用户代理 表示浏览器基本身份信息
'User-Agent': ''
}
发送请求
requests模块get模块中的方法
response = requests.get(url=url, headers=headers)
print(response)
表示请求成功
"""
2.获取数据:获取服务器返回的响应数据
开发人员工具 --> 响应
3.解析数据:提取出我们想要的数据内容
提取本小节名称/本小节标题/本小节url
解析数据方法:
转换数据类型
获取response.text html字符串数据类型
get() 获取返回字符串
getall() 获取多个返回列表
"""
转换数据类型,可解析对象
selector = parsel.Selector(response.text)
提取书名
" />
name = selector.css('#novelName::text').get()
提取该小节的名称
titles = selector.css('.DivTd a::text').getall()
提取本子章节的url
href = selector.css('.DivTd a::attr(href)').getall()
for循环逐一遍历并提取列表中的元素
for link, title in list(zip(href, titles))[58:]:
# https://b.faloo.com/631781_1.html
link_url = 'https:' + link
print(link_url, title)
"""
4 / 5 发送请求,获取数据
"""
html_data = requests.get(url=link_url, headers=headers).text
通过 CSS 提取数据转换数据可解析对象
selector_1 = parsel.Selector(html_data)
摘录本书内容
content_list = selector_1.css('.noveContent p::text').getall()
# join 是干嘛的?
content = '\n'.join(content_list)
len() 计算元素的数量。如果是付费章节,里面的数据只有
<p> if len(content)