最新动态
使用Selenium实现微博爬虫:预登录、展开全文、翻页
2024-10-31 21:47

想实现爬微博的自由吗?这里可以实现了!本文可以解决微博预登录、识别“展开全文”并爬取完整数据、翻页设置等问题。

使用Selenium实现微博爬虫:预登录、展开全文、翻页

1、静态网页

静态网页是纯粹的HTML,没有后台数据库,不含程序,不可交互,体量较少,加载速度快。静态网页的爬取只需四个步骤:发送请求、获取相应内容、解析内容及保存数据。

2、动态网页

动态网页上的数据会随时间及用户交互发生变化,因此数据不会直接呈现在网页源代码中,数据将以Json的形式保存起来。因此,动态网页比静态网页多了一步,即需渲染获得相关数据。

3、区分动静态网页的方法

加载网页后,点击右键,选中“查看网页源代码”,如果网页上的绝大多数字段都出现源代码中,那么这就是静态网页,否则是动态网页。

1.逆向分析爬取动态网页

适用于调度资源所对应网址的数据为json格式,Javascript的触发调度。主要步骤是获取需要调度资源所对应的网址-访问网址获得该资源的数据。(此处不详细讲解)


2.使用Selenium库爬取动态网页

使用Selenium库,该库使用Javascript模拟真实用户对浏览器进行操作。本案例将使用该方法。

1.Selenium库使用pip工具进行安装即可。

2.下载与Chrome浏览器版本匹配的浏览器补丁。

Step1:查看Chrome的版本

Step2:去下载相应版本的浏览器补丁。网址:http://npm.taobao.org/mirrors/chromedriver/

Step3:解压文件,并将之放到与python.exe同一文件下

1.导入selenium包

2.打开页面


3.采用交互式运行,运行完上面两段程序,会弹出一个框,这个框就是用来模拟网页的交互。在这个框中完成登录(包括填写登录名、密码及短信验证等)

4.完成预登录,则进入个人主页

1.定位上图中的关键词输入框,并在框中输入搜索对象,如“努力学习”

2.当完成上步的代码运行后,会弹出新的窗口,从个人主页跳到微博搜索页。但是driver仍在个人主页,需要人为进行driver的移动,将之移动到微博搜索页。

3.使用switch_to.window()方法移位

1.了解每个元素的Selector,用以定位(重点在于唯一标识性)

2.使用Selector定位元素,并获取相应的数据

1.使用for循环实现翻页,重点在于识别“下一页”按钮,并点击它

1.使用Dataframe保存字段

    以上就是本篇文章【使用Selenium实现微博爬虫:预登录、展开全文、翻页】的全部内容了,欢迎阅览 ! 文章地址:http://dfvalve.xrbh.cn/quote/3772.html 
     行业      资讯      企业新闻      行情      企业黄页      同类资讯      网站地图      返回首页 迅博思语资讯移动站 http://keant.xrbh.cn/ , 查看更多