使用Selenium模拟浏览器实现自动爬取数据

网友投稿 1112 2022-05-29

最近需要在一个网站下载一批数据。但是输入一个查询,返回三四万条结果,每次只能导出500条,而且每次还得输入下载条目的范围!这样点击下载,还不要了我的老命。于是乎想自动化这个过程。

我的需求主要是两点:1. 要求自动化程度高。最好有直接模拟浏览器鼠标和键盘动作的成熟接口,比如在文本框输入,选择下拉列表,单选框,复选框,点击按钮等。2. 不要求效率。因为我要的数据量相对来说很小。3. python下的框架。因为平时几乎主要用python。

我不太懂网站技术,和网站沾边的经验只有两个:开发过一个很简单安卓的客户端,用python的scrapy框架写过爬虫来自动爬取新闻。所以了解一些客户端和服务端基本的交互方式、了解如何分析网页源代码、了解xpath语法。

使用Selenium模拟浏览器,实现自动爬取数据

刚开始针对这个问题,我连搜啥都不太清楚。知乎的这篇文章提供了很多有用信息:“Python 爬虫如何获取 JS 生成的 URL 和网页内容?” 顺着它我又权衡了很多方法,最后选择了Selenium。主要优点是学习成本极小,代码实现快。缺点是爬取效率低。想要高效率的朋友,就要花一些时间学习更复杂的工具包了。

网站技术

想要自动爬取网页,得了解一些基本的知识,这样做起来更快。这里简单介绍一下相关知识。

1. Request/response

request是客户端向服务端发起请求。输入一个网址对应一个request动作,这是最直观的。爬取静态网页的内容,只要知道网址就可以了。但是现在的网页很多都是动态的,鼠标指向或者点击网页中某些元素也会触发request动作,从而使网页动态更新

Selenium 数据挖掘

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:分享9款“神器级”的网站,你值得拥有
下一篇:【云驻共创】纵览华为鲲鹏BoostKit 2.0新版本发布会
相关文章