python爬虫微博24小时热搜_GitHub - Writeup007/weibo_Hot_Search: 微博爬虫:每天定时爬取微博热搜榜的内容,留下互联网人的记忆。...

Weibo_Hot_Search

都说互联网人的记忆只有七秒钟,可我却想记录下这七秒钟的记忆。

项目已部署在服务器,会在每天的上午 11 点和晚上11 点定时爬取微博的热搜榜内容,保存为 Markdown 文件格式,然后上传备份到 GitHub 你可以随意下载查看。

不要问我为什么选择 11 这两个时间点,因为个人总感觉这两个时间点左右会有大事件发生。

不管微博热搜上是家事国事天下事,亦或是娱乐八卦是非事,我只是想忠实的记录下来...

运行环境

Python 3.0 +

pip install requests

pip install lxml

pip install bs4

或者执行

pip install -r requirements.txt

进行安装运行所需的环境

运行

请确保你已准备好所需的运行环境

运行方法(任选一种)

在仓库目录下运行 weibo_Hot_Search_bs4.py(新增) 或 weibo_Hot_Search.py

在cmd中执行 python weibo_Hot_Search_bs4.py(新增) 或 python weibo_Hot_Search.py

自动运行:利用 Windows 或 Linux 的任务计划程序实现即可

scrapy版本运行

项目的结构如下

>├── hotweibo

│   ├── __init__.py

│   ├── items.py

│   ├── middlewares.py

│   ├── pipelines.py

│   ├── __pycache__

│   │   ├── __init__.cpython-38.pyc

│   │   ├── items.cpython-38.pyc

│   │   ├── pipelines.cpython-38.pyc

│   │   └── settings.cpython-38.pyc

│   ├── settings.py

│   ├── spiders

│   │   ├── hot.py

│   │   ├── __init__.py

│   │   └── __pycache__

│   │   ├── hot.cpython-38.pyc

│   │   └── __init__.cpython-38.pyc

│   └── TimedTask.py # 可以运行此文件直接启动爬虫

└── scrapy.cfg

请确保准备好 MongoDB 环境和 Scrapy 环境

推荐使用 Docker 安装 MongoDB

数据库和集合不需要预先创建

TimedTask.py 用于执行定时爬取,默认为每分钟爬取一次

在linux下可以在TimedTask脚本所在目录执行

nohup python Timer.py >/dev/null 2>&1 &

具体用法可参考这里

生成文件

运行结束后会在当前文件夹下生成以时间命名的文件夹,如下:

2019年11月08日

并且会生成以具体小时为单位的具体时间命名的 Markdown 文件,如下:

2019年11月08日23点.md

接口来源

更新日志

2020年08月08日:

1.将原有保存的 Markdown 文件数据进行整理,保存至新开仓库 weibo_Hot_Search_Data 此仓库以后用作代码更新及保存,不再在此存放数据内容。

声明

本项目的所有数据来源均来自 新浪微博 数据内容及其解释权归新浪微博所有。

License

GNU General Public License v3.0

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/412154.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[vue] 分析下vue项目本地开发完成后部署到服务器后报404是什么原因呢?

[vue] 分析下vue项目本地开发完成后部署到服务器后报404是什么原因呢? 1.检查nginx配置,是否正确设置了资源映射条件; 2.检查vue.config.js中是否配置了publicPath,若有则检查是否和项目资源文件在服务器摆放位置一致。个人简介 …

jQuery异步加载数据并添加事件示例

当时项目是通过树形栏进行权限控制的,管理员可以对从数据库去的数据动态生成树形栏进行增删改查操作,可是用$(".XX").click();方法是不行的。1、之前用的是jq1.4.3 ,jq1.7一下都可以使用live()方法,来实现该功能 $(‘#div).live(‘…

python考试有什么用_Python有什么用?2020年学习Python的10个理由

如果你想学习 Python,但是不知道为什么要学习,那么这里有 10 个理由,强调了在 2020 年学习 Python 的好处。不过,这些问题取决于谁在问,也就是说,对于初学者来说,学习Python是有意义的&#xff…

GOOGLE搜索出来的你的网站说明是乱码的

<globalization requestEncoding"utf-8" responseEncoding"utf-8" /> GOOGLE搜索出来的你的网站说明是乱码的。有没有不改这个设置为gb2312而解决这个问题 转载于:https://www.cnblogs.com/smallmuda/archive/2006/02/22/335282.html

在deepin 15.5中安装vs code并配置c/c++环境

原文地址&#xff1a;https://blog.csdn.net/DefetC/article/details/79946100 参考了以下几篇文章&#xff1a;https://www.zhihu.com/question/30315894/answer/154979413&#xff08;虽然讲解的是Windows环境中的安装&#xff0c;但十分详尽&#xff0c;很有参考价值&#x…

[vue] v-once的使用场景有哪些?

[vue] v-once的使用场景有哪些&#xff1f; v-once 只渲染元素和组件一次。随后的重新渲染&#xff0c;元素/组件及其所有的子节点将被视为静态内容并跳过。这可以用于优化更新性能。个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c; 但坚…

NDoc修改版,支持中文注释及中文界面。

这几天正在做一个项目的开发文档&#xff0c;以前试用NDoc做开发文档时不支持中文&#xff0c;真是不爽。这几天看了源代码&#xff0c;修改了其中的一段源代码及配置文件后&#xff0c;支持中文注释及中文界面&#xff08;目前只做了Msdn2003一种&#xff09;。以下为修改后版…

sql-bench mysql_MySQL性能测试(一)——RHEL 7.1, MySQL 5.6.25, sql-bench

由于前段时间要测试全闪存阵列上运行MySQL的性能&#xff0c;因此研究了段时间&#xff0c;试验了两个工具&#xff1a;一个是MySQL自带的sql-bench&#xff0c;一个是sysbench。本过程使用的环境是Redhat Enterprise Linux 7.1, MySQL 5.6.25&#xff0c;测试工具则是mysql自带…

0,1,2 代表标准输入、标准输出、标准错误

Linux中的标准输入输出 https://blog.csdn.net/zhongqi2513/article/details/78613768 >/dev/null 2>&1和2>&1 >/dev/null区别根本分析 https://blog.csdn.net/a1439458305/article/details/79586567转载于:https://www.cnblogs.com/andy9468/p/10452204.h…

在MSF中怎么区分易混淆的工作项类型:Bug、风险和问题(我个人的理解)

工作项是 Visual Studio Team Foundation 用于跟踪工作的分配和状态的数据库记录。CMMI 过程改进 MSF 过程定义了七个工作项来分配和跟踪工作&#xff0c;他们是&#xff1a;任务、更改请求 、风险 、评审 、要求 、Bug 、问题&#xff0c;在这七个工作项中风险、Bug 和问题最容…

[vue] 说说你对vue的表单修饰符.lazy的理解

[vue] 说说你对vue的表单修饰符.lazy的理解 input标签v-model用lazy修饰之后&#xff0c;vue并不会立即监听input Value的改变&#xff0c;会在input失去焦点之后&#xff0c;才会触发input Value的改变个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容…

sql注入攻击实例mysql_MySQL 处理SQL注入攻击

MySQL 处理SQL注入攻击如果您通过网页获取用户输入并将其插入到一个MySQL数据库中,则有可能让您对称为SQL注入的安全问题敞开大门。本课将教您如何帮助防止这种情况发生,并帮助您保护脚本和MySQL语句。比如当你要求用户输入他们的名字,这时候他们给你的不是名字而是一个MySQL语…

生命的帐单

深夜&#xff0c;危重病人房里&#xff0c;癌症患者迎来了了他生命中最后一分钟&#xff0c;死神如期来到他的身边。 隔着氧气罩&#xff0c;他含糊不清地对死神说&#xff1a;“再给我一分钟&#xff0c;就一分钟&#xff0c;好吗&#xff1f;” 死神问&#xff1a;“你…

C++const的多种用法

0. 写在最前面 在看《effective C》前觉得代码都是自己写的&#xff0c;加不加这些const修饰&#xff0c;注不注意格式都无所谓啦&#xff0c;反正自己知道。看完后印象比较深的两点&#xff0c;一个是你设计的类有可能会给别人用&#xff0c;你这些良好的习惯可以防止别人在用…

[vue] vue为什么要求组件模板只能有一个根元素?

[vue] vue为什么要求组件模板只能有一个根元素&#xff1f; ‘为什么只能有且只有一个根元素’于是我花了二十多分钟去找了一下答案......竟然没有找到答案....好的现在我来说说我的理解&#xff0c;如果有不对的地方欢迎指出。我觉得这个问题需要从两个方面来说起&#xff1a…

java面试技术问题_11个JAVA面试中常见技术问题

原标题&#xff1a;11个JAVA面试中常见技术问题大家在平常面试java的过程中都会遇到哪些难题呢&#xff1f;还有一些即将去面试java的童鞋们&#xff0c;你们想知道技术面试中会涉及到哪些点吗&#xff1f;达妹为你整理Java面试中会被问到的几个技术难题。1、一个".java&q…

终于用到DataGrid了,比较郁闷

我用的是windows窗体的DataGrid控件在显示时间的时候&#xff0c;不显示具体的小时/分钟/秒上网查资料&#xff0c;介绍的都是web下的DataGrid如何现实&#xff0c;form下的不能用这些办法谁能帮帮我谢谢~~转载于:https://www.cnblogs.com/foreverpk/archive/2006/03/16/351759…

[vue] EventBus注册在全局上时,路由切换时会重复触发事件,如何解决呢?

[vue] EventBus注册在全局上时&#xff0c;路由切换时会重复触发事件&#xff0c;如何解决呢&#xff1f; 建议在created里注册&#xff0c;在beforeDestory移出个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c; 但坚持一定很酷。欢迎大家…

Java list接口

list中的元素可以重复&#xff0c;父接口是collection&#xff0c;实现类是&#xff1a;arraylist和vector。 arraylist&#xff1a; package com.jike.list;import java.util.ArrayList; import java.util.List;public class ListDemo01 {public static void main(String[] ar…

java treemap api_Java 8 Stream API toMap转换为TreeMap

public class Message {private int id;private User sender;private User receiver;private String text;private Date senddate;..}我有List list new ArrayList<>();我需要将它们转换为TreeMap> map我知道如何使用转换为HashMaplist.stream().collect(Collectors.g…