走进我们
资讯动态
产品中心
技术参数
客户留言
人力资源
服务地区
联系我们
 
LED行业资讯        您当前的位置:首页 > 资讯动态  

Python爬虫日记五:使用Selenium爬取一点资讯动态数据

时间:2018-12-10 01:38:02  来源:本站  作者:
公司

  这几天哈尔滨天气天天刮风下雨的挺烦的,抱个电脑去学校图书馆学编程回来还要被雨淋,马上专业课也要考试了,Python集中学习要等到几门课考完了。

  今天使用Selenium来处理JS一点资讯文章动态加载问题,本来是想配合PhantomJS无界面浏览器来实现的,但是一直出问题等有空在找找原因吧,所以我就Firefox()了。

  1.先看看网站一点资讯,的分析,红色部分是文章标题,文章作者,还有评价数目,这几个是我需要提取的数据,右边的按钮是用来刷新新文章的一会儿要用到。

  3.但是从下面看到首页的这样的新闻可以爬取的只有几个而已,我们如果想爬取多一点怎么办呢?当我们打开这个页面的时候,鼠标滚轮向下滚动的时候发现这些数据就变多了,说明这是一个JS动态加载数据的方式。我这次就要用到Selenium来模拟浏览器从而获取更多文章信息。

  1.首先把全部的模块导入一下,这次用到了好几个。selenium.webdriver用来模拟浏览器用到的;BeautifulSoup用来解析网页结构;csv模块用来把数据保存为csv格式;time用来延时的,不然网页没有加载完就解析数据,那么保存的数据不完整,不够多。

  2.首先webdriver.Firefox()模拟一个火狐浏览器,之后请求这个一点资讯地址延时2秒,保证加载完成。这里本打算用PhantomJS无界面浏览器来爬取的,但是结果不够好,暂时就用火狐吧。

  3.接下来模拟鼠标点击那个刷新按钮可以加载更多数据,次数可以自己在加,我这里就用一次,icon-refresh是在开发者模式中按照我图中步骤找到那个按钮的相应位置,使用快捷键Ctrl+Shift+c,然后点击那个刷新按钮就可以跳转到相应代码位置。

  5.到现在网页已经加载完全了,我们想要的文章数据也加载很多了,那么就开始解析网页来爬取数据吧!通过上面实例分析的第二步可以知道文章标题,作者,评论数目,文章链接等信息位置,最后解析完就把这个模拟的浏览器关闭。

  贴出我的github地址,我的爬虫代码和学习的基础部分都放进去了,有喜欢的朋友一起学习交流吧!

  最近需要在一个网站下载一批数据。但是输入一个查询,返回三四万条结果,每次只能导出500条,而且每次还得输入下载条目的范围!这样点击下载,还不要了我的老命。于是乎想自动化这个过程。 我的需求主要是两点:1. 要求自动化程度高。最好有直接模拟浏览器鼠标和键盘动作的成熟接口,比如...

  1 控制浏览器 Selenium 主要提供的是操作页面上各种元素的方法,但它也提供了操作浏览器本身的方法,比如浏览器的大小以及浏览器后退、前进按钮等。 1.1 控制浏览器窗口大小 在不同的浏览器大小下访问测试站点,对测试页面截图并保存,然后观察或使用图像比对工具对被...

  今天遇到一个mysql的问题,启动mysqld的时候出错 ,一直启动不起来。但是window下一下就闪退了。我这边使用的绿色版的mysql。我分析了几个原因 之前的mysqld 服务没有正常关闭,然后我在服务中没有找到该服务。这条不成立。 是不是我的文件修改的不...

  人性的弱点难道是因为比较,比较出真知吗? 每个人心中都有一把称。衡量自己,也衡量别人。只有当货物与秤砣的指向达到一致时,才能平衡。往外打一点,货物不够重,秤砣自然往下掉;往里打一点,货物太重了,秤杆自然往上翘。 今天,你的心理为何就不平衡了呢?你说,周末加班为公司做事情,不...

  姓名:孙鹏 日精进打卡第6天 【打卡始于2017.10.14持续于2017.10.19】 【知~学习】 晨颂六项精进和大学各3遍 【行---实践】 一、修身 1、坚持晨跑 2、努力学习,净化心灵 二、齐家 严厉批评儿子挑食浪费粮食的毛病 【长期反省】 反省对待同事的态度...

Copyright © www.g22.com Inc. All rights reserved 版权所有:宝运莱娱乐 沪ICP备07029879号
友情链接: