selenium或其他web scraper工具是否必须用于将数据从chrome刮到python脚本

2024-10-03 02:33:44 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我想搜集一个网站的数据。我在python脚本中使用了selenium来刮取数据。但我注意到,在GoogleChromeInspect的网络部分,Chrome可以记录XmlHttpRequest以查找网站的json/xml文件。所以我想知道我是否可以在python脚本中直接使用这些数据,因为selenium非常重,需要更多的带宽。是否应使用selenium或其他web刮板工具作为与浏览器通信的媒介?如果没有,请给出一些关于仅使用chrome本身来为我的python文件刮取数据的信息


Tags: 文件工具数据刮板网络脚本webjson
1条回答
网友
1楼 · 发布于 2024-10-03 02:33:44

当然!查看requests模块。
从那里您可以访问页面源,并使用其中的数据分别访问不同的方面。这里有一些要考虑的事情:
优点:

  • 更快,下载更少。对于AJAX请求之类的事情,它的效率非常高
  • 不需要像selenium这样的图形用户界面
  • 更精确;得到你所需要的
  • 在发出请求之前设置标题/Cookies/etc的功能
  • 图像可以单独下载,无需下载任何图像
  • 允许并行打开任意数量的会话,每个会话 可以有不同的选项(代理、无cookie、一致cookie、, 自定义标题、块重定向等),而不影响其他

缺点:

  • Selenium相比,更难进入,需要 对HTML的GETPOST以及库的基本知识 像reBeautifulSoup来提取数据

  • 对于包含javascript生成数据的页面,具体取决于 javascript被实现(或模糊化),尽管总是可能的, 提取想要的数据可能非常困难


结论:
我建议你一定要学习requests,并在大多数情况下使用它;但是,如果javascript变得太复杂,那么切换到selenium以获得更简单的解决方案。在线查找一些教程,然后查看official page以了解您所学内容的概述

相关问题 更多 >