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

 #coding=utf-8
 from selenium import webdriver
 import unittest
 from time import sleep

 class Weibo(unittest.TestCase):

     def setUp(self):
         self.dr = webdriver.Chrome()
         self.hot_list = self.get_weibo_hot_topic()
         self.weibo_topic = self.get_top_rank_file()

     def get_weibo_hot_topic(self):
         self.dr.get('http://weibo.com/')
         sleep(5)
         self.login('649_xxxx@qq.com','kemi_xxxx') #微博帐号密码
         self.dr.get('http://d.weibo.com/100803?cfs=&Pl_Discover_Pt6Rank__5_filter=hothtlist_type%3D1#_0')
         sleep(5)
         hot_topic_list = []
         i = 0
         while i < 15:
             #rank_and_topic = self.dr.find_elements_by_css_selector('.title.W_autocut')[i].text #定位排行和话题
             rank = self.dr.find_elements_by_css_selector('div.title.W_autocut>span')[i].text  #定位排行
             topic = self.dr.find_elements_by_css_selector('div.title.W_autocut>a.S_txt1')[i].text  #定位话题
             number = self.dr.find_elements_by_css_selector('.number')[i].text #定位阅读数
             hot_topic_list.append([rank, topic, number])
             i += 1
         return hot_topic_list

     def get_top_rank_file(self):
         self.file_title = '微博24小时热门话题'
         self.file = open(self.file_title + '.txt', 'wb')
         for item in self.hot_list:
             separate_line = '~~~~~~~~~~~~~~~~~~~~~~~~\n'  #分隔线
             self.file.write(separate_line.encode('utf-8'))
             self.file.write((item[0]+'  '+item[1]+'  '+'阅读数:'+item[2]+'\n').encode('utf-8'))
         self.file.close()

     def login(self, username, password):
         self.dr.find_element_by_name('username').clear()
         self.dr.find_element_by_name('username').send_keys(username)
         self.dr.find_element_by_name('password').send_keys(password)
         self.dr.find_element_by_css_selector('.info_list.login_btn').click()

     def test_weibo_topic(self):
         pass
         print('抓取完毕')

     def tearDown(self):
         self.dr.quit()

 if __name__== '__main__':
     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. swift-分支语句

    // switch的基本用法 // 1>switch后面的()可以省略 // 2>case中语句结束后不需要跟break // 3>在case中定义局部变量不需要跟{} // 4&g ...

  2. Spring Boot中的注解

    文章来源:http://www.tuicool.com/articles/bQnMra 在Spring Boot中几乎可以完全弃用xml配置文件,本文的主题是分析常用的注解. Spring最开始是为了 ...

  3. CALayer 详解 -----转自李明杰

    本文目录 一.什么是CALayer 二.CALayer的简单使用 回到顶部 一.什么是CALayer * 在iOS系统中,你能看得见摸得着的东西基本上都是UIView,比如一个按钮.一个文本标签.一个 ...

  4. Ubuntu导入证书

    (*.cer) 首先我们得进入JAVA_HOME目录(查看/etc/profile文件),然后进去以下路径/opt/jdk1.5.0_11/jre/lib/security/ 将证书放进去,假如说是1 ...

  5. android app 提示信息

    Toast.makeText(this,"You cannot have less than 1 coffee",Toast.LENGTH_SHORT).show();TextVi ...

  6. 转载css的background-position

    这是一个有趣的话题 其实我并不确切的平时大家是怎么去应用或者玩转一个属性,一个值.我能肯定的是这些东西都有不少的可玩性. 我今天要聊的 background-position 应该已经被大家玩得色彩斑 ...

  7. NET出现频率非常高的笔试题

    又到了金三银四的跳槽季,许多朋友又开始跳槽了,这里我简单整理了一些出现频率比较高的.NET笔试题,希望对广大求职者有所帮助. 一..net基础 1.  a=10,b=15,请在不使用第三方变量的情况下 ...

  8. js页面跳转的方式

    js方式的页面跳转1.window.location.href方式    <script language="javascript" type="text/java ...

  9. onBackPressed

    onBackPressed()此为进行返回当前的activity 看源码

  10. C#操作PPT表格

    1.激活组件 AxFramerControl改控件的dll自己再网上百度下下载这里不多讲 /// <summary>        /// 检测是否注册控件        /// < ...