爬取蜻蜓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有声小说链接相关推荐

  1. python scrapy+Mongodb爬取蜻蜓FM,酷我及懒人听书

    1.初衷:想在网上批量下载点听书.脱口秀之类,资源匮乏,大家可以一试 2.技术:wireshark scrapy jsonMonogoDB 3.思路:wireshark分析移动APP返回的各种连接分类 ...

  2. python爬取网易云歌单_详解python selenium 爬取网易云音乐歌单名

    目标网站: 首先获取第一页的数据,这里关键要切换到iframe里 打印一下 获取剩下的页数,这里在点击下一页之前需要设置一个延迟,不然会报错. 结果: 一共37页,爬取完毕后关闭浏览器 完整代码: u ...

  3. 用 Python selenium爬取股票新闻并存入mysql数据库中带翻页功能demo可下载

    用 Python selenium爬取实时股票新闻并存入mysql数据库中 1.分析需求 2.创建表 3.分析需要爬取的网页内容 4.python里面selenium进行爬虫操作 1.添加包 2.连接 ...

  4. Python+Selenium爬取新浪微博评论数据

    Python+Selenium爬取指定新浪微博的数据 微博分析 微博端类型 选择爬取对象 Ajax动态加载数据分析 Python实现代码 微博分析 微博端类型 首先找到一个待爬取的微博,需要注意的是, ...

  5. python selenium爬取去哪儿网的酒店信息——详细步骤及代码实现

    目录 准备工作 一.webdriver部分 二.定位到新页面 三.提取酒店信息 ??这里要注意?? 四.输出结果 五.全部代码 准备工作 1.pip install selenium 2.配置浏览器驱 ...

  6. 使用python+selenium爬取同城旅游网机票信息

    最近使用python+selenium爬取了同城旅游网机票信息 相关主要代码如下,通过模拟人为操作,拿下了这个机票列表的html代码,然后就可以使用xpath或者re等方式从中提取需要的字段信息了. ...

  7. 利用python+selenium爬取derwent数据库上的patents

    利用python+selenium爬取derwent数据库上的patents 需求: 登陆web of science,并进入derwent数据库,按照公司excel列表依次进行搜索,并将所有搜索道德 ...

  8. Python + selenium 爬取淘宝商品列表及商品评论 2021-08-26

    Python + selenium 爬取淘宝商品列表及商品评论[2021-08-26] 主要内容 登录淘宝 获取商品列表 获取评论信息 存入数据库 需要提醒 主要内容 通过python3.8+ sel ...

  9. python selenium 爬取去哪儿网的数据

    python selenium 爬取去哪儿网的数据 完整代码下载:https://github.com/tanjunchen/SpiderProject/tree/master/selenium+qu ...

最新文章

  1. 我室友拿到了字节50万年薪,太牛逼了
  2. SQL中declare申明变量
  3. curl命令使用总结
  4. 给刚开始学习Linux的小白们的福利——资源已经分享,可随时下载
  5. 二、Python安装扩展库
  6. c++ dicom图像切割_【高训智造】原创专业课堂第225期--定位滑座的线切割加工
  7. linux脚本定时拷贝文件,使用Linux shell脚本实现FTP定时执行批量下载指定文件
  8. 面试题 02.06. 回文链表
  9. SAP官网学习教程(3) HANA数据库开发
  10. DirectShow 开启摄像头
  11. 最新谷歌算法面试真题:将字符串翻转到单调递增
  12. bugku-misc练习(一)
  13. 项目代码中魔法值的优雅处理
  14. 动软代码生成器之 模板功能介绍
  15. 【SLAM十四讲】ch11 回环检测 词袋法实验 得出相似分数后计算PR曲线 VPR实验 编辑中
  16. Python上手就有
  17. 拜日式精准引导词_瑜伽 拜日式引导词 分享
  18. 物联网专业可以报计算机岗位吗,现在物联网工程专业的就业岗位有哪些?小编介绍...
  19. #{key}和${key} 取值的区别
  20. Excell表格的技巧

热门文章

  1. google网页翻译使用不了的解决方案
  2. 【C语言】输入矩形的长和宽,计算该矩形的面积
  3. [luogu2294] [HNOI2005]狡猾的商人
  4. 国内最全的android软件商店 应用市场 汇总
  5. vscode底部蓝色导航不见了,vue less报错
  6. 这些Linux技能你会了,面试官:哎呦小伙子不错哦!
  7. 哎呦,最近流行校内体哦--每个用 power shell 的程序员,上辈子都是折翼的天使
  8. 百度网盟推广链接通配符(URL动态参数)
  9. 2016太原网络营销师揭秘面试题百度竞价(SEM)中百度网盟推广的理解?
  10. 20180903有关复数共轭的理解