用python+selenium抓取微博24小时热门话题的前15个并保存到txt中
抓取微博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中的更多相关文章
- [Python爬虫] 之四:Selenium 抓取微博数据
抓取代码: # coding=utf-8import osimport refrom selenium import webdriverimport selenium.webdriver.suppor ...
- 一篇文章教会你使用Python定时抓取微博评论
[Part1--理论篇] 试想一个问题,如果我们要抓取某个微博大V微博的评论数据,应该怎么实现呢?最简单的做法就是找到微博评论数据接口,然后通过改变参数来获取最新数据并保存.首先从微博api寻找抓取评 ...
- 用python+selenium抓取知乎今日最热和本月最热的前三个问题及每个问题的首个回答并保存至html文件
抓取知乎今日最热和本月最热的前三个问题及每个问题的首个回答,保存至html文件,该html文件的文件名应该是20160228_zhihu_today_hot.html,也就是日期+zhihu_toda ...
- 用python+selenium抓取豆瓣读书中最受关注图书并按评分排序
抓取豆瓣读书中的(http://book.douban.com/)最受关注图书,按照评分排序,并保存至txt文件中,需要抓取书籍的名称,作者,评分,体裁和一句话评 方法一: #coding=utf-8 ...
- 用python+selenium抓取豆瓣电影中的正在热映前12部电影并按评分排序
抓取豆瓣电影(http://movie.douban.com/nowplaying/chengdu/)中的正在热映前12部电影,并按照评分排序,保存至txt文件 #coding=utf-8 from ...
- Python爬虫抓取微博评论
第一步:引入库 import time import base64 import rsa import binascii import requests import re from PIL impo ...
- python 读取一个文件夹下的所jpg文件保存到txt中
最近需要使用统计一个目录下的所有文件,使用python比较方便,就整理了一下代码. import os def gci(filepath): files = os.listdir(filepath) ...
- 第二个爬虫之爬取知乎用户回答和文章并将所有内容保存到txt文件中
自从这两天开始学爬虫,就一直想做个爬虫爬知乎.于是就开始动手了. 知乎用户动态采取的是动态加载的方式,也就是先加载一部分的动态,要一直滑道底才会加载另一部分的动态.要爬取全部的动态,就得先获取全部的u ...
- Python爬虫实战八之利用Selenium抓取淘宝匿名旺旺
更新 其实本文的初衷是为了获取淘宝的非匿名旺旺,在淘宝详情页的最下方有相关评论,含有非匿名旺旺号,快一年了淘宝都没有修复这个. 可就在今天,淘宝把所有的账号设置成了匿名显示,SO,获取非匿名旺旺号已经 ...
随机推荐
- 数位DP入门
HDU 2089 不要62 DESC: 问l, r范围内的没有4和相邻62的数有多少个. #include <stdio.h> #include <string.h> #inc ...
- Android App的签名打包三步骤
1.签名的意义 为了保证每个应用程序开发商合法ID,防止部分开放商可能通过使用相同的Package Name来混淆替换已经安装的程序,我们需要对我们发布的APK文件进行唯一签名,保证我们每次发布的版本 ...
- jquery 实现 返回顶部
//Html代码: <div class="backToTop" title="返回顶部">返回顶部</div> //代码 //CS ...
- Web Api 多项目文档生成之SwaggerUI
SwaggerUI 可以生成不错的文档,但默认只能作用于单个api 项目,研究了一下源码发现只需修改一下SwaggerConfig.cs文件即可支持多API项目 1.使用生成脚本把xml文件复制到AP ...
- 多个radiobutton选定一个
asp.net中怎么判断其中一个radiobutton被选中后登录的是一个窗体,另一个被选中后登录的是另一个窗体. 页面设置两按钮的GroupName为同一组值: <asp:RadioButto ...
- T-Shirt 估算法
T-Shirt Size Estimation (2015-05-11 22:58:18) 转载▼ 产出:产品经理会对每一条需求评估上业务影响力的尺寸,如:XXXL 影响一千万人以上或是可以占 ...
- VBA嘘嘘嘘(1)——将Excel数据填入到已存在的Word模板表格(实例应用)
傻瓜可以写出机器读懂得代码,但写出让人能读懂的代码的是优秀程序员 Sub 填充() Application.ScreenUpdating = False 'ScreenUpdating 是控制你的ex ...
- 如何解决前端传来的时间格式与mysql表中时间格式不匹配的查询问题
前端传过来的时间格式为“2016-07-11 11:13:10”,而数据表中对应字段`add_time`的格式为“2016-7-11”,此时sql不能直接用 "where `add_time ...
- ShellShock 攻击实验
一. 实验描述 2014年9月24日,Bash中发现了一个严重漏洞shellshock,该漏洞可用于许多系统,并且既可以远程也可以在本地触发.在本实验中,学生需要亲手重现攻击来理解该漏洞,并回答一些问 ...
- 7月10日——[HouseStark] 扬帆起航--第一次会议
本次会议为小组成员第一次会议 内容:每个成员提出一个及以上的项目及内容,成员内部商议并投票决定要做的项目 会议时长:90分钟 地点:电三楼8楼816室 成员 项目 讨论结果 崔文祥 高校就业信息汇总网 ...