本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。

以上文章来源于CSND,作者 sweetheart7-7

基本思路:

首先用开发者工具找到需要提取数据的标签列表:

利用xpath定位需要提取数据的列表

然后再逐个提取相应的数据:

保存数据到csv:

利用开发者工具找到下一页按钮所在标签:

利用xpath提取此标签对象并返回:

调用点击事件,并循环上述过程:

最终效果图:

代码:

from selenium import webdriver
import time
import reclass Douyu(object):def __init__(self):# 开始时的urlself.start_url = "https://www.douyu.com/directory/all"# 实例化一个Chrome对象self.driver = webdriver.Chrome()# 用来写csv文件的标题self.start_csv = Truedef __del__(self):self.driver.quit()def get_content(self):# 先让程序两秒,保证页面所有内容都可以加载出来time.sleep(2)item = {}# 获取进入下一页的标签next_page = self.driver.find_element_by_xpath("//span[text()='下一页']/..")# 获取用于判断是否是最后一页的属性is_next_url = next_page.get_attribute("aria-disabled")# 获取存储信息的所有li标签的列表li_list = self.driver.find_elements_by_xpath("//ul[@class='layout-Cover-list']//li")# 提取需要的数据for li in li_list:item["user-id"] = li.find_element_by_xpath(".//div[@class='DyListCover-userName']").textitem["img"] = li.find_element_by_xpath(".//div[@class='DyListCover-imgWrap']//img").get_attribute("src")item['class-name'] = li.find_element_by_xpath(".//span[@class='DyListCover-zone']").textitem["click-hot"] = li.find_element_by_xpath(".//span[@class='DyListCover-hot']").textitem["click-hot"] = re.sub(r'n','',item['click-hot'])# 保存数据self.save_csv(item)# 返回是否有下一页和下一页的点击事件的标签,return next_page,is_next_urldef save_csv(self,item):# 将提取存放到csv文件中的内容连接为csv格式文件str = ','.join([i for i in item.values()])with open('./douyu.csv','a',encoding='utf-8') as f:if self.start_csv:f.write("用户id,image,所属类,点击热度n")self.start_csv = False# 将字符串写入csv文件f.write(str)f.write('n')print("save success")def run(self):# 启动chrome并定位到相应页面self.driver.get(self.start_url)while True:# 开始提取数据,并获取下一页的元素next_page,is_next = self.get_content()if is_next!='false':break# 点击下一页next_page.click()if __name__=='__main__':douyu_spider = Douyu()douyu_spider.run()

ajax将数据显示在class为content的标签中_python selenium:自动化爬取某鱼数据相关推荐

  1. ajax将数据显示在class为content的标签中_python爬取微博评论(无重复数据)

    python爬取微博评论(无重复数据) 前言 一.整体思路 二.获取微博地址 1.获取ajax地址2.解析页面中的微博地址3.获取指定用户微博地址 三.获取主评论 四.获取子评论 1.解析子评论2.获 ...

  2. ajax将数据显示在class为content的标签中_[原创]数据可视化实战项目

    数据可视化实战项目 NLP 数据可视化 request BeautifulSoup #爬虫所需import requestsfrom bs4 import BeautifulSoup# Nlp可视化所 ...

  3. ajax将数据显示在class为content的标签中_利用selenium实现自动翻页爬取某鱼数据

    基本思路: 首先用开发者工具找到需要提取数据的标签列表: 利用xpath定位需要提取数据的列表 然后再逐个提取相应的数据: 保存数据到csv: 利用开发者工具找到下一页按钮所在标签: 利用xpath提 ...

  4. AJAX教程美食滤镜,Python爬虫实例——爬取美团美食数据

    1.分析美团美食网页的url参数构成 1)搜索要点 美团美食,地址:北京,搜索关键词:火锅 2)爬取的url https://bj.meituan.com/s/%E7%81%AB%E9%94%85/ ...

  5. scrapy由浅入深(三) selenium模拟爬取ajax动态页面(智联招聘)

    爬取智联招聘的网址:https://sou.zhaopin.com/?pageSize=60&jl=489&kw=python&kt=3 上一篇博客爬取了前程无忧的职位招聘信息 ...

  6. 今日头条ajax技术内as ,cp,_cp_signature参数分析、破解及python爬取频道数据

    [腾讯云]11.11 云上盛惠,云产品限时抢购,1核2G云服务器首年88元 相信很多人在爬今日头条的时候就遇到了一个难题,就是找到了消息头后,有3个加密的参数(as ,cp,_cp_signature ...

  7. python爬取天眼查数据(未破解图片验证及ajax版)

    import time import requests from bs4 import BeautifulSoup import lxml import json import copy import ...

  8. webmagic ajax,webmagic爬虫对静态页面,动态页面及js请求方式爬取的处理

    webmagic爬取网页数据,[分页爬取内容]见上一篇博文https://segmentfault.com/a/1190000020005655 webmagic的官方文档见: http://webm ...

  9. 使用ajax爬取网站图片()

    以下内容转载自:https://www.makcyun.top/web_scraping_withpython4.html 文章关于网站使用Ajaxj技术加载页面数据,进行爬取讲的很详细 大致步骤如下 ...

最新文章

  1. servlet-------------jsp 地址栏变化
  2. HarmonyOS之公共事件的发布、订阅与退订
  3. Java抽象– ULTIMATE教程(PDF下载)
  4. 视频播放问题和提高性能方案
  5. 用神经网络例子讲解TF运行方式~人工智能入门编程例子讲解
  6. 枚举算法:求解不等式
  7. Josephus 线段数版
  8. java面向对象编程的思想_java面向对象编程思想
  9. 存储空间的动态分配与释放
  10. UDP读取发送工具类
  11. 办理加拿大普通学生签证 20180717
  12. wifi设置及一些有趣的应用
  13. AToken全观:情人节妹子收了520个BTC,成吨狗粮灌到饱
  14. 成都众恒微拓科技:怎么降低退款率
  15. ElementUI 整体页面布局
  16. Android Bitmap 缩放
  17. sqlserver函数多行数据合并成一行
  18. FeedBurner: 使用RSS路由器的风险
  19. android平台从froyo 2.2开始支持jni单步调试了
  20. 智能化网络管理系统 为网络安全把脉

热门文章

  1. 肝!分享 2 本高质量算法书籍!
  2. 恶意npm包收集用户IP等信息并在GitHub传播
  3. Python新手常见错误汇总|附代码检查清单
  4. JDK文档中关于Semaphore的正确使用以及使用场景
  5. HTML5文档结构 摘要
  6. PHP 接口开发注意事项
  7. border-collapse:collapse;清除表格中单元格的空隙
  8. (转)Git详解之三:Git分支
  9. 8_18 比赛总结 [暑假集训]
  10. 【转】Service深入分析