爬取微博热门话题

爬取微博热门话题,第1张

概述1 介绍 本文主要介绍爬取微博热门话题及话题下的微博。这是我毕业设计的数据来源,在这里先记录一下进展。 我买的阿里云服务器,【轻量应用服务器】预装宝塔Linux面板——三个月¥28.5。配置如下: 用起来还是很方便的,宝塔面板可视化文件上传下载,搭建web网站简便,可以定时爬虫程序。在阿里云服务器进行运行爬虫代码并连接到mysql数据库,运行环境如下: 类型 版本 服务器 CentOS Linux 1 介绍

本文主要介绍爬取微博热门话题及话题下的微博。这是我毕业设计的数据来源,在这里先记录一下进展。

我买的阿里云服务器,【轻量应用服务器】预装宝塔linux面板——三个月¥28.5。配置如下:

用起来还是很方便的,宝塔面板可视化文件上传下载,搭建web网站简便,可以定时爬虫程序。在阿里云服务器进行运行爬虫代码并连接到MysqL数据库,运行环境如下:

类型 版本
服务器 CentOS linux 7.4.1708 (Core)
web服务器 Apache 2.4
数据库 MysqL5.7
PYTHON python 3.6.5
2 搭建过程 2.1 解析页面

爬取的是微博移动版 m.weibo.cn 在页面中按F12,找到Json格式的页面,如下图,之后就是根据Json的格式解析页面找到我们需要的信息,这个工作就是把返回的页面信息慢慢看了一层层解析字典,没什么捷径。

这步完成之后可以得到微博热搜话题榜单,在话题榜单的字典里有该话题的url,进入某个话题的url同上的 *** 作,爬取话题下的所有微博。需要下滑才能显示下面的页面,这个通过设置url的page字段,知道返回ok=0认为没有了。

2.2 搭建阿里云服务器

完成上面的 *** 作基本完成了数据的爬取,不过大量爬取的过程还是有些BUG需要调,具体的可以看代码。下面来搭建阿里云服务器完成以下 *** 作路径。

安装python3和pip3

代码是python写的,在服务器上安装python3和pip3,具体 *** 作按照网上的教程来的,没有问题。需要注意的是我的服务器是Centos7.3和之前常用的Ubuntu系统还是有些差别的虽然都是linux内核,一些安装命令是不同的。

数据库的坑

然后就是把代码上传到服务器上,在宝塔面板上 *** 作,测试代码,然后下一步是存储到数据库中,我开始使用的是psycopg库,但是连接出现了很多问题连接不上,一方面是云服务器的设置问题,另一方面是库的问题,所以我在解决了云服务器的设置问题后使用了另一个数据库连接库pyMysqL,可以连接成功。

这里面如果第一次配置阿里云服务器还是有些坑的,在这里卡了一下。

【坑一】安装MysqL5.7,至少是高版本的,不然表情无法保存到数据库,不会报错会有warning。虽然程序员不怕warning但是实在太多了。。。。

【坑二】由于端口没有开发,无法访问数据库。这里数据库对应的端口是3306。因为我安装了phpmyadmin他的端口是888,一直以为这个就是数据的端口实际不是。。。

端口的开发需要在两个地方同时开:1.在阿里云轻量服务器的控制的防火墙添加端口。2.在宝塔linux面板添加。只有在两个地方都添加才能正常访问对应的服务。

定时设置

这里的定时设置可以在宝塔linux面板的计划任务里面直接设置,很方便,我之前也查过一些定时的命令,不知道为啥没有执行,所以直接在上面设置执行周期和运行脚本。脚本内容直接写python3运行程序的命令,路径是绝对路径。


添加成功后在下面会显示任务,点执行看下执行效果,还可以查看日志。整个流程就连接起来了,就可以每天自动爬取微博热门话题及微博了。

原文:大专栏  爬取微博热门话题

总结

以上是内存溢出为你收集整理的爬取微博热门话题全部内容,希望文章能够帮你解决爬取微博热门话题所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1023028.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存