• WEBSCRAPER关于Element的问题


    关注 码龄 粉丝数 原力等级 -- 被采纳 被点赞 采纳率 xiaa123404 2024-08-08 10:03 采纳率: 0% 浏览 3 首页/ 前端 / WEBSCRAPER关于Element的问题 html WEBSCRAPER中 Element 选择的集 ,其他页面的值会变动,这个怎么处理啊比如 这个页面的是.datatable tr:nth-of-type(3),另外个页面又变成了tr.trBgBlue。 收起 写回答 好问题 0 提建议 追加酬金 关注问题 微信扫一扫 点击复制链接 分享 邀请回答 编辑 收藏 删除 结题 收藏 举报 追加酬金 (90%的用户在追加酬金后获得了解决方案) 当前问题酬金 ¥ 0 (可追加 ¥500) ¥ 15¥ 20¥ 50¥ 100¥ 200 支付方式 扫码支付 二维码出错 点击刷新 支付金额 15 元 提供问题酬金的用户不参与问题酬金结算和分配 支付即为同意 《付费问题酬金结算规则》 结题 再想想 删除 再等等

    1条回答 默认 最新

    • 一直免费一直爽 2024-08-11 21:50
      关注

      以下回复参考:皆我百晓生券券喵儿等免费微信小程序作答:

      在进行Web Scraping时,尤其是涉及到动态网页的情况(如数据表格等),选择器可能会因为页面内容的变化而失效。为了应对这种情况,我们可以采用一些策略来确保我们的网页爬虫能够捕获到变化的数据:

      1. 缓存机制:可以考虑将网页抓取的结果保存在一个临时文件夹或者数据库中,这样即使网站内容发生改变,我们也可以通过访问这些存储的副本来获取最新的信息。

      2. 使用CSS预处理器:例如Sass、Less或Stylus,它们可以帮助你在编写HTML时就考虑到CSS样式的变化,并自动调整选择器以适应新的布局结构。

      3. 利用JavaScript API:当遇到动态加载的数据表时,可以尝试利用JavaScript库(如jQuery)来动态地更新元素。这可以通过设置事件监听器或者使用Ajax请求的方法来实现。

      4. 使用浏览器插件:有些浏览器插件提供了实时解析网页的能力,可以在一定程度上减少因页面刷新导致的选择器失效的风险。

      5. 自动化测试:对于频繁变化的页面,可以考虑使用自动化测试工具(如Selenium)来定期检查和验证网页的状态,从而保持网页数据的一致性。

      6. 分页处理:对于包含大量数据的页面,可以考虑使用分页功能,每次只抓取部分数据,然后等待服务器返回更多的数据。

      7. 手动干预:在某些情况下,手动控制网页的行为可能是必要的。例如,如果某个元素的属性发生了变化,可以直接在浏览器中编辑其HTML源代码并重新加载页面,或者在后台使用JavaScript脚本来执行相应的操作。

      请注意,虽然上述方法能有效提高网页爬取的稳定性,但仍然可能受到服务器行为、反爬策略等因素的影响。因此,在实际应用中,还需要结合业务场景和目标,灵活选择合适的策略。

      评论 编辑记录
      编辑
      预览

      报告相同问题?

    • 相关阅读:
      HTML CSS 网页设计作业「动漫小站」
      强化学习学习笔记——问题汇总
      数据中心电力供应,请掌握这个技能!
      laravel Modify data is invalid 解决修改数据无效
      Vue中实现全景房看图3D
      复习Day05:链表part01:203.移除链表元素、707.设计链表、206.反转链表、234. 回文链表
      leetcode-判断是不是二叉搜索树-92
      【面试题 - mysql】进阶篇 - MVCC多版本并发控制原理
      Unity3D学习笔记9——加载纹理
      【STM32+HAL+Proteus】系列学习教程---ADC(查询、中断、DMA模式下的电压采集)
    • 原文地址:https://ask.csdn.net/questions/8135803