抓取微博24小时热门话题的前15个,抓取的内容请保存至txt文件中,需要抓取排行、话题和阅读数

  1. #coding=utf-8
  2. from selenium import webdriver
  3. import unittest
  4. from time import sleep
  5.  
  6. class Weibo(unittest.TestCase):
  7.  
  8. def setUp(self):
  9. self.dr = webdriver.Chrome()
  10. self.hot_list = self.get_weibo_hot_topic()
  11. self.weibo_topic = self.get_top_rank_file()
  12.  
  13. def get_weibo_hot_topic(self):
  14. self.dr.get('http://weibo.com/')
  15. sleep(5)
  16. self.login('649_xxxx@qq.com','kemi_xxxx') #微博帐号密码
  17. self.dr.get('http://d.weibo.com/100803?cfs=&Pl_Discover_Pt6Rank__5_filter=hothtlist_type%3D1#_0')
  18. sleep(5)
  19. hot_topic_list = []
  20. i = 0
  21. while i < 15:
  22. #rank_and_topic = self.dr.find_elements_by_css_selector('.title.W_autocut')[i].text #定位排行和话题
  23. rank = self.dr.find_elements_by_css_selector('div.title.W_autocut>span')[i].text #定位排行
  24. topic = self.dr.find_elements_by_css_selector('div.title.W_autocut>a.S_txt1')[i].text #定位话题
  25. number = self.dr.find_elements_by_css_selector('.number')[i].text #定位阅读数
  26. hot_topic_list.append([rank, topic, number])
  27. i += 1
  28. return hot_topic_list
  29.  
  30. def get_top_rank_file(self):
  31. self.file_title = '微博24小时热门话题'
  32. self.file = open(self.file_title + '.txt', 'wb')
  33. for item in self.hot_list:
  34. separate_line = '~~~~~~~~~~~~~~~~~~~~~~~~\n' #分隔线
  35. self.file.write(separate_line.encode('utf-8'))
  36. self.file.write((item[0]+' '+item[1]+' '+'阅读数:'+item[2]+'\n').encode('utf-8'))
  37. self.file.close()
  38.  
  39. def login(self, username, password):
  40. self.dr.find_element_by_name('username').clear()
  41. self.dr.find_element_by_name('username').send_keys(username)
  42. self.dr.find_element_by_name('password').send_keys(password)
  43. self.dr.find_element_by_css_selector('.info_list.login_btn').click()
  44.  
  45. def test_weibo_topic(self):
  46. pass
  47. print('抓取完毕')
  48.  
  49. def tearDown(self):
  50. self.dr.quit()
  51.  
  52. if __name__== '__main__':
  53. unittest.main()

网页如下:

生成txt文件如下:

用python+selenium抓取微博24小时热门话题的前15个并保存到txt中的更多相关文章

  1. [Python爬虫] 之四:Selenium 抓取微博数据

    抓取代码: # coding=utf-8import osimport refrom selenium import webdriverimport selenium.webdriver.suppor ...

  2. 一篇文章教会你使用Python定时抓取微博评论

    [Part1--理论篇] 试想一个问题,如果我们要抓取某个微博大V微博的评论数据,应该怎么实现呢?最简单的做法就是找到微博评论数据接口,然后通过改变参数来获取最新数据并保存.首先从微博api寻找抓取评 ...

  3. 用python+selenium抓取知乎今日最热和本月最热的前三个问题及每个问题的首个回答并保存至html文件

    抓取知乎今日最热和本月最热的前三个问题及每个问题的首个回答,保存至html文件,该html文件的文件名应该是20160228_zhihu_today_hot.html,也就是日期+zhihu_toda ...

  4. 用python+selenium抓取豆瓣读书中最受关注图书并按评分排序

    抓取豆瓣读书中的(http://book.douban.com/)最受关注图书,按照评分排序,并保存至txt文件中,需要抓取书籍的名称,作者,评分,体裁和一句话评 方法一: #coding=utf-8 ...

  5. 用python+selenium抓取豆瓣电影中的正在热映前12部电影并按评分排序

    抓取豆瓣电影(http://movie.douban.com/nowplaying/chengdu/)中的正在热映前12部电影,并按照评分排序,保存至txt文件 #coding=utf-8 from ...

  6. Python爬虫抓取微博评论

    第一步:引入库 import time import base64 import rsa import binascii import requests import re from PIL impo ...

  7. python 读取一个文件夹下的所jpg文件保存到txt中

    最近需要使用统计一个目录下的所有文件,使用python比较方便,就整理了一下代码. import os def gci(filepath): files = os.listdir(filepath) ...

  8. 第二个爬虫之爬取知乎用户回答和文章并将所有内容保存到txt文件中

    自从这两天开始学爬虫,就一直想做个爬虫爬知乎.于是就开始动手了. 知乎用户动态采取的是动态加载的方式,也就是先加载一部分的动态,要一直滑道底才会加载另一部分的动态.要爬取全部的动态,就得先获取全部的u ...

  9. Python爬虫实战八之利用Selenium抓取淘宝匿名旺旺

    更新 其实本文的初衷是为了获取淘宝的非匿名旺旺,在淘宝详情页的最下方有相关评论,含有非匿名旺旺号,快一年了淘宝都没有修复这个. 可就在今天,淘宝把所有的账号设置成了匿名显示,SO,获取非匿名旺旺号已经 ...

随机推荐

  1. JavaEE MyBatis

    1.  简介 MyBatis本是apache的一个开源项目iBatis的升级版,2013年11月迁移到Github,是三层架构中持久层框架. 目前提供了Java..NET.以及Ruby三种语言实现的版 ...

  2. iOS9 +http请求不能用的解决办法

    报错NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9802); 查询得知 iOS9引入了新特性App ...

  3. Visual Studio 2015 新建MVC项目 Package Manager Console不能使用 (HRESULT: 0x80131500)

    Visual studio 2015 突然新建不了MVC项目,报出错误: HRESULT: 0x80131500 在折腾了很长时间,最后在Github上看到这样一个贴 地址:https://githu ...

  4. HDU--1233--还是畅通工程--并查集

    还是畅通工程 Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Subm ...

  5. wdcp 下apache模式开启https访问,支持多站点

    1.vi conf/httpd.conf 查找 #Include conf/extra/httpd-ssl.conf (删除行首的配置语句注释符号"#"保存退出) 2.vi con ...

  6. python文本过滤

    #encoding:UTF-8 import re temp = "想做/ 兼_职/学生_/ 的 .加,我Q: 8 8. 8 8. !!?? 8 8 .8. 8. 8 有,惊,喜,哦&quo ...

  7. WebStorm常用配置

    设置 快捷键设置 可以采用多种风格,这里采用Visual Studio风格,便于习惯使用其它IDE的用户迁移. JavaScript版本设置 JavaScript的主流版本已升至ESMAScript6 ...

  8. Centos配置SS5代理

    wget http://heanet.dl.sourceforge.net/project/ss5/ss5/3.8.9-8/ss5-3.8.9-8.tar.gz tar xvf ss5-3.8.9-8 ...

  9. js动画之链式运动

    链式运动就是当一个运动完,又启动另外一个运动,这个怎么实现呢?这里我们是用用回调函数实现一套链式动画 显示给div左移100像素,然后然后透明度变100 <!DOCTYPE html> & ...

  10. Python3学习(一)-基础、数据类型、变量、字符串和编码、list&tuple、if、for、while、dict、set、函数与参数

    ##廖雪峰py3笔记 ## '//'这是获得相除后的整数部分 ##a = 10//3 ##print (a) ## '/'获得相除后的结果,为浮点数,结果能整除也也是浮点数 ##b = 10/3 ## ...