python+selenium爬取蜻蜓FM有声小说链接
爬取蜻蜓FM有声小说链接
1 为什么说是链接而不是音频呢?
原因是我只是一个刚开始学习的小白,因为这个是动态加载的数据,我还不会提取这个Network中的链接,写这个只是为了记录学习过程,
由于是第一次,不足之处还望理解包涵,并希望能得到各位前辈的指导。
2 首先导包
因为是动态加载的,所以用selenium
import time
from selenium import webdriver
3 准备工作
url = 'https://www.qingting.fm/channels/225733/'driver = webdriver.Chrome()driver.get(url)
4 向目标发送请求后,这里就需要获取其动态数据了
由于目标当前共263章,而加载一次是30章,这儿需要做二个动作,一是下拉滚动条,二是点击加载更多
for i in range(10):driver.execute_script('window.scrollTo(0,document.body.scrollHgight)')button = driver.find_element_by_class_name('addMoresButtion')button.click()
5 上述动作之后,数据就可以加载完成,之后开始解析
这里采用xpath,感觉这个方便,注意是复数elements
data = driver.find_elements_by_xpath('//li/span[1]/a')
6 得到全部数据后遍历取得相应数据
链接和章节名称
for msg in data:link = msg.get_attribute('href')name = msg.get_attuibute('text')
7 保存数据
这里需要注意的是换行符的作用
with open('qingting.csv','a',encoding='utf-8') as f:f.write(name+link+'\n')f.close()
8 到这儿基本达到了所需,有二个问题需要注意
一是退出浏览器,防止占用资源,二是数据加载完后button消失造成的报错
完整代码给出答案
import time
from selenium import webdriverclass Qingting(object):#初始化基本数据def __init__(self):self.url='https://www.qingting.fm/channels/225733/'self.driver = webdriver.Chrome()def get_url(self):# 请求目标网址self.driver.get(self.url)# 隐士等待加载网页self.driver.implicitly_wait(3)# 加载目标网址动态数据def jz_url(self):# 因为数据加载完成后button会消失而报错try:# 向下拉滚动条9次,(当前页面数据为263,加载一次为30)for i in range(10):# 滚动条下拉到底部self.driver.execute_script('window.scrollTo(0,document.body.scrollHeight)')# 选择'加载更多按钮'后点击button = self.driver.find_element_by_class_name('addMoresButtion')button.click()#点击后暂停时间time.sleep(0.5)# 上边的try是处理动态加载,这里的except是处理加载完成后except:# 解析数据data = self.driver.find_elements_by_xpath('//li/span[1]/a')# 从列表中遍历取出相应数据for msg in data:link =msg.get_attribute('href')name = msg.get_attribute('text')print(name, link)#保存得到后的数据with open('qingting_lxf.csv', 'a', encoding='utf-8') as f:#换行符在这里很重要f.write(name + link + '\n')# 写完后关闭f.close()# 上述动作完成后退出浏览器self.driver.quit()
if __name__ == '__main__':a = Qingting()a.get_url()a.jz_url()
python+selenium爬取蜻蜓FM有声小说链接相关推荐
- python scrapy+Mongodb爬取蜻蜓FM,酷我及懒人听书
1.初衷:想在网上批量下载点听书.脱口秀之类,资源匮乏,大家可以一试 2.技术:wireshark scrapy jsonMonogoDB 3.思路:wireshark分析移动APP返回的各种连接分类 ...
- python爬取网易云歌单_详解python selenium 爬取网易云音乐歌单名
目标网站: 首先获取第一页的数据,这里关键要切换到iframe里 打印一下 获取剩下的页数,这里在点击下一页之前需要设置一个延迟,不然会报错. 结果: 一共37页,爬取完毕后关闭浏览器 完整代码: u ...
- 用 Python selenium爬取股票新闻并存入mysql数据库中带翻页功能demo可下载
用 Python selenium爬取实时股票新闻并存入mysql数据库中 1.分析需求 2.创建表 3.分析需要爬取的网页内容 4.python里面selenium进行爬虫操作 1.添加包 2.连接 ...
- Python+Selenium爬取新浪微博评论数据
Python+Selenium爬取指定新浪微博的数据 微博分析 微博端类型 选择爬取对象 Ajax动态加载数据分析 Python实现代码 微博分析 微博端类型 首先找到一个待爬取的微博,需要注意的是, ...
- python selenium爬取去哪儿网的酒店信息——详细步骤及代码实现
目录 准备工作 一.webdriver部分 二.定位到新页面 三.提取酒店信息 ??这里要注意?? 四.输出结果 五.全部代码 准备工作 1.pip install selenium 2.配置浏览器驱 ...
- 使用python+selenium爬取同城旅游网机票信息
最近使用python+selenium爬取了同城旅游网机票信息 相关主要代码如下,通过模拟人为操作,拿下了这个机票列表的html代码,然后就可以使用xpath或者re等方式从中提取需要的字段信息了. ...
- 利用python+selenium爬取derwent数据库上的patents
利用python+selenium爬取derwent数据库上的patents 需求: 登陆web of science,并进入derwent数据库,按照公司excel列表依次进行搜索,并将所有搜索道德 ...
- Python + selenium 爬取淘宝商品列表及商品评论 2021-08-26
Python + selenium 爬取淘宝商品列表及商品评论[2021-08-26] 主要内容 登录淘宝 获取商品列表 获取评论信息 存入数据库 需要提醒 主要内容 通过python3.8+ sel ...
- python selenium 爬取去哪儿网的数据
python selenium 爬取去哪儿网的数据 完整代码下载:https://github.com/tanjunchen/SpiderProject/tree/master/selenium+qu ...
最新文章
- 我室友拿到了字节50万年薪,太牛逼了
- SQL中declare申明变量
- curl命令使用总结
- 给刚开始学习Linux的小白们的福利——资源已经分享,可随时下载
- 二、Python安装扩展库
- c++ dicom图像切割_【高训智造】原创专业课堂第225期--定位滑座的线切割加工
- linux脚本定时拷贝文件,使用Linux shell脚本实现FTP定时执行批量下载指定文件
- 面试题 02.06. 回文链表
- SAP官网学习教程(3) HANA数据库开发
- DirectShow 开启摄像头
- 最新谷歌算法面试真题:将字符串翻转到单调递增
- bugku-misc练习(一)
- 项目代码中魔法值的优雅处理
- 动软代码生成器之 模板功能介绍
- 【SLAM十四讲】ch11 回环检测 词袋法实验 得出相似分数后计算PR曲线 VPR实验 编辑中
- Python上手就有
- 拜日式精准引导词_瑜伽 拜日式引导词 分享
- 物联网专业可以报计算机岗位吗,现在物联网工程专业的就业岗位有哪些?小编介绍...
- #{key}和${key} 取值的区别
- Excell表格的技巧