爬取微博热门话题

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运行程序的命令,路径是绝对路径。

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

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

原文地址:https://www.cnblogs.com/chinatrump/p/11601734.html

时间: 2024-07-31 04:34:22

爬取微博热门话题的相关文章

爬虫实例(一)——爬取微博动态

首语:开始准备认真学习爬虫了,先从基础的开始学起,比如先爬取微博的个人动态. 两个难点:获取动态加载的内容和翻页这两项操作. 对象:何炅的个人 需要的URL: 首页url:https://weibo.com/hejiong?is_search=0&visible=0&is_all=1&is_tag=0&profile_ftype=1&page=1#feedtop 我们可以直接用get方法请求该URL,但是注意要带上cookies,这样才能得到网页信息.cookies

python爬虫爬取微博评论案例详解

这篇文章主要介绍了python爬虫爬取微博评论,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 数据格式:{"name":评论人姓名,"comment_time":评论时间,"comment_info":评论内容,"comment_url":评论人的主页} 以上就是我们需要的信息. 具体操作流程: 我们首相将主页获取完成以后,我们就会发现,其中 的内容带有相

1-3 爬取微博上电影主题的热度(主题的阅读数和讨论数)

1 weiboHeat.py 2 #-*- coding:utf-8 -*- 3 ''' 4 该脚本可以从wap版的微博网站上爬取热门电影的信息, 5 尤其是其中的电影主题讨论数和阅读数 6 ''' 7 import json 8 import requests 9 from pandas import DataFrame 10 import time 11 headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleW

【python网络编程】新浪爬虫:关键词搜索爬取微博数据

上学期参加了一个大数据比赛,需要抓取大量数据,于是我从新浪微博下手,本来准备使用新浪的API的,无奈新浪并没有开放关键字搜索的API,所以只能用爬虫来获取了.幸运的是,新浪提供了一个高级搜索功能,为我们爬取数据提供了一个很好的切入点. 在查阅了一些资料,参考了一些爬虫的例子后,得到大体思路:构造URL,爬取网页,然后解析网页 具体往下看~ 登陆新浪微博,进入高级搜索,如图输入,之后发送请求会发现地址栏变为如下:    http://s.weibo.com/weibo/%25E4%25B8%25A

python 爬取微博信息

新浪微博爬取的话需要设计到登录,这里我没有模拟登录,而是使用cookie进行爬取. 获取cookie: 代码: #-*-coding:utf8-*- from bs4 import BeautifulSoup import requests import time import os import sys import random reload(sys)  sys.setdefaultencoding('utf-8') user_id = 用户id cookie = {"Cookie"

爬虫实例 利用Ajax爬取微博数据

随着代理IP技术的普及,爬虫的使用也变得简单起来,许多企业和个人都开始用爬虫技术来抓取数据.那么今天就来分享一个爬虫实例,帮助你们更好的理解爬虫.下面我们用程序模拟Ajax请求,将我的前10页微博全部爬取下来.首先,定义一个方法来获取每次请求的结果.在请求时,page是一个可变参数,所以我们将它作为方法的参数传递进来,相关代码如下:首先,这里定义了base_url来表示请求的URL的前半部分.接下来,构造参数字典,其中type.value和containerid是固定参数,page是可变参数.接

爬取微博用户数据

前言 查找的过程 核心 总结 前言 微博数据基本上可以说是社交圈里面最大的了.但是单纯的使用urllib,是不足以获取数据的. 今天来使用Cookie的方式绕开微博权限验证这一关卡, 爬取一下数据. 查找的过程 打开Chrome 的F12之后,刷新页面,真的是眼花缭乱的数据流啊,飞流直下.找了好久,发现大部分数据都是通过JavaScript脚本渲染到页面上的. 这也就是为什么单纯的使用urllib抓不到的原因了.因为这是动态页面,而Urllib则是抓取静态页面.明白了这一点,就找到了方向了. 那

爬虫之爬取豆瓣热门图书的名字

import requests #requests模块用于HTTP请求 import codecs #codecs模块用于文件操作 from bs4 import BeautifulSoup #beautifulSoup库用于对html代码进行解析 #要爬取的地址 URL="https://book.douban.com/top250" #user-agent,模仿浏览器,防止被目标网站反爬 HEADERS = { "User-Agent":"Mozill

通过Python、BeautifulSoup爬取Gitee热门开源项目

一.安装 1.通过requests 对响应内容进行处理,requests.get()方法会返回一个Response对象 pip install requests 2.beautifulSoup对网页解析不仅灵活.高效而且非常方便,支持多种解析器 pip install beautifulsoup4 3.pymongo是python操作mongo的工具包 pip install pymongo 4.安装mongo 二.分析网页&源代码 1.确定目标:首先要知道要抓取哪个页面的哪个版块 2.分析目标