您的位置:首页 > 编程语言 > Python开发

Python+Selenium实现微博自动化爬虫

2016-08-11 09:48 3195 查看
目的:

  利用python和selenium实现自动化爬虫

所需工具:

  1、python2.7

  2、selenium库(pip install selenium或者easy_install selenium进行安装)

  3、火狐浏览器

  安装好上述工具之后就可以开始微博爬虫啦!

  首先,打开你的python编辑器(本人使用的是sublime3),设置一下编码格式如下:

  然后导入所需要的库: 

  利用如下代码,自动打开你的火狐浏览器并跳转到微博登录首页:

  其中的time.sleep是让程序等候3秒后再接着运行,为了避免因为网速的影响而导致页面信息抓取错误。运行这段代码之后,就会发现你的浏览器已经跳转到微博登录首页了,这个时候需要让浏览器实现自动点击账号登录并输入账号和密码。代码如下:

  运行上述代码之后,就会发现你已经自动登录微博了,然后需要跳转到你所要爬取微博内容所在的页面:

  然后就可以开始爬取你想要的信息啦,本人所要爬取的内容有微博的粉丝数量、每条微博的内容(包括点赞数、转发数、回复数)。因为这个页面需要拖动滑动条到网页最下面才能完全显示所有信息,所以在爬取内容之前应该先将滑动条拖到最下方,代码如下:

  运行上面的所有代码之后,就可以开始爬取内容了。

  上面的代码中,对于要爬取的信息并没有采用正则去匹配,而是采用Xpath(比Xpath更为精准定位的是css定位),对于Xpath不懂的可以百度一下。

  运行完上面所有代码之后,这一页所要爬的内容就以及全部爬下来并分别保存在L_1(粉丝数量)、data_text(微博内容)、data_time(微博发布的时间)、data_relay(微博内容转发数量)、data_comment(微博内容评论数量)、data_support(微博内容点赞数量),最后你就可以利用pandas将这些数据保存在csv中。

  上面的代码只是爬取了一个页面的所需内容,要是想爬取多个页面,稍微修改一下代码就可以了。如果有什么不明白的,可以给文章后面的邮箱发邮件。

  全部代码如下:
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python selenium
相关文章推荐