步骤是:从热搜神器上获取数据,此时数据是有很多无用信息的(比如一些超链接),对数据进行处理,导出到excel。

网址为:https://weibo.zhaoyizhe.com

** 获取数据**
使用的是requests包,先定义对目标网站访问时发出的请求中包含的部分信息,包括url,headers等,以下省去了与本机相关的信息,这些在浏览器中可以查看。

# 调用要使用的包
from datetime import datetime,timedelta
import re
from openpyxl import Workbook
import requestsworkbook = Workbook()
url = 'https://weibo.zhaoyizhe.com'
headers = {'User-agent':'*****',"Cookie":"*****","Connection":"close"}
proxies = {"http": "47.1.40.143:16819"}#获取要爬取的日期列表
def gen_dates(b_date, days):day = timedelta(days=1)for i in range(days):yield b_date + day*i
def get_date_list():"""获取日期列表:param start: 开始日期:param end: 结束日期:return:"""start = datetime.strptime("2019-12-31", "%Y-%m-%d").date()#.date()可以只截取日期end = datetime.now().date()datelist = []for d in gen_dates(start, (end-start).days):datelist.append(d)return datelist#获取数据的文字部分(热搜词条)
def GetMiddleStr(content,startStr,endStr):patternStr = r'%s(.+?)%s'%(startStr,endStr)p = re.compile(patternStr,re.IGNORECASE)m= re.match(p,content)if m:return m.group(1)#导出数据到excel
def export(result_list):excel = open('微博热搜历史备用.xlsx', 'w', encoding='gbk')for a in result_list:excel.write(a.replace(u'\xa0', u' '))excel.write('\n')excel.close()#两个循环,外层是日期,内层是热搜
i = 0
j = 0
#存储结果的列表
final_list = []while i<len(get_date_list()):date_str = str(get_date_list()[i].year)+'/'+str(get_date_list()[i].month)+'/'+str(get_date_list()[i].day)data = {'type': 'realTimeHotSearchList','t': '1513e084','accessToken': 'HYfcS6EQ3JyJCSxU6P/erLIm4qbIxRCEInE6RIr4TnHJtYG0F2ZOCqIjuWiQkhLjXVPYoQPGUKlpyvVfg==','date': date_str}r = requests.get(url, proxies=proxies, headers=headers)# 发送post请求r = requests.post(url, data=data, headers=headers)result = r.content.decode('utf-8')print(i)#获取到的字符串进行分片,此时result由一长串字符串变成列表result = result.split('},{')#去除首部两个字符以便后面的正则匹配result[0] = result[0].strip('[{')j = 0while j<len(result):final_list.append(GetMiddleStr(result[j], '"keyword":"','","url"'))j+=1i+=1
export(final_list)

python爬取微博热搜神器,微博历史数据相关推荐

  1. Python爬取新浪微博热搜榜

    Python爬取新浪微博实时热搜榜.名人热搜榜.热点热搜榜和潮流热搜榜四大板块.这些板块都是不需要登录的,所以爬起来还是比较简单的.不过频繁的爬取会出现验证码. 作用爬取四大榜单的关键词和热搜指数并存 ...

  2. php采集百度热搜,python 爬取百度热搜

    ###导入模块 import requests from lxml import etree import requests,json ###网址 url="http://top.baidu ...

  3. Python爬虫 爬取新浪微博热搜

    Python爬虫 爬取新浪微博热搜 文章目录 Python爬虫 爬取新浪微博热搜 网页分析 数据爬取 数据存储 全部代码 网页分析 找到热搜的排名,标题和热度,发现它们在同一路径 数据爬取 impor ...

  4. Python网络爬虫:爬取CSDN热搜数据 并保存到本地文件中

    hello,大家好,我是wangzirui32,今天我们来学习如何爬取CSDN热搜数据,并保存到Excel表格中. 开始学习吧! 学习目录 1. 数据包抓取 2. 编写代码 1. 数据包抓取 打开CS ...

  5. python爬取百度标题_Python爬取百度热搜和数据处理

    一.主题式网络爬虫设计方案 1.主题式网络爬虫名称:爬取百度热搜 2.主题式网络爬虫爬取的内容与数据特征分析:百度热搜排行,标题,热度 3.主题式网络爬虫设计方案概述:先搜索网站,查找数据并比对然后再 ...

  6. 爬取新浪微博热搜排行

    爬取新浪微博热搜排行 1.1 爬虫基本原理解析 什么是爬虫 通过编写程序模拟浏览器上网 在互联网抓取数据的过程 分类 通用爬虫 搜索引擎用的爬虫系统 尽可能把互联网的所有网页下载 放到本地服务器形成备 ...

  7. Python爬取豆瓣热映电影

    Python爬取豆瓣热映电影 # encoding: utf-8import requests from lxml import etree# 1. 将目标网站上的页面抓取下来 headers = { ...

  8. 爬取某热搜榜,headers添加Cookie应对反爬

    今天利用xpath爬取某热搜榜相关数据.首先导入相关模块,设定url和请求头,获取html字符串. from lxml import etree import requests import char ...

  9. Python爬虫与信息提取(五)爬虫实例:爬取新浪微博热搜排名

    经过一段时间的Python网络爬虫学习,今天自己摸索制作了一个能够爬取新浪微博实时热搜排名的小爬虫 1.效果: 2.制作过程中遇到的问题: (1)一开始研究微博热搜页面的源代码时忽略了<tbod ...

最新文章

  1. spring MVC之返回JSON数据(Spring3.0 MVC+Jackson+AJAX)
  2. 问题生成的多样性会在多大程度上帮助下游QA任务?
  3. 将json数据写入html表单,将json数据提交到html表中
  4. 史上最全的CSS hack方式一览
  5. 【如意影视】运营级+完整类库+解析线路+无限增加或删减解析接口+如意可视化播放器1.1
  6. java_web用户的自动登录模块的实现
  7. python经典书籍推荐:Python面向对象编程指南 : Mastering Object-oriented
  8. 网关在链路上什么意思_银行卡上的数字都什么意思
  9. COM中关于使用DLL的一些知识点
  10. android歌词控件
  11. WIN10出现找不到WIFI解决办法
  12. 自学Python编程的第\七天----------来自苦逼的转行人
  13. 小提琴弓是如何出现的?
  14. 搭建远程仓库(源)来托管 Sencha 包(Package)
  15. vbs查看系统开关机时间
  16. 不必急于吹响裁判哨:“安卓禁令”后华为手机的变数与新机
  17. python 视频加字幕_Python追风者之视频编辑moviepy
  18. Redis原理(Replication、Sentinel、Twemproxy、RedisCluster)
  19. 手把手教-在自己的服务器上运行psychopy线上实验
  20. 腾讯企点QTrade 金融OTC合规解决方案

热门文章

  1. IPv6 基本原理详解介绍
  2. RGB显示屏的辐射超标问题点及解决方案
  3. Hexo文件压缩:使用hexo-neat插件压缩页面静态资源
  4. 通用能力-数量关系专项练习(2)
  5. V4L2视频采集与H264编码1—V4L2采集JPEG数据
  6. 【论文阅读】Adaptive Clustering-based Malicious Traffic Classification at the Network Edge
  7. 小明用计算机计算,小明计算器官方PC版
  8. maven项目引入Google二维码框架zxing实现二维码(支持logo图)
  9. 个人向的前端的坑坑洼洼的记录(1)
  10. swipei实现3D横向焦点图效果