根据关键词抓取新浪微博
1. 背景
很多人可能都遇到过想要通过某些关键词来获取新浪微博的数据, 目前来说有两种办法。
使用官方api
官方api的优点是使用简单方便。但是有两个问题。
这里还是提供一个api的地址、参数和示例,token可以换成自己的,以下代码仅供参考
import requestsurl = 'https://api.weibo.com/2/search/topics.json'"""access_token true string 采用OAuth授权方式为必填参数,OAuth授权后获得。q true string 搜索的话题关键字,必须进行URLencode,utf-8编码。count false int 单页返回的记录条数,默认为10,最大为50。page false int 返回结果的页码,默认为1。"""load = { 'access_token': '2.00AqpTsHXXXXXXXXXXXXXXXXXXXXX', 'q': '新冠', 'count': 50, 'page': 2}html = requests.get(url, params=load)print(html.json())
- 一般来说token的权限不够 (但是也有解决的办法)
- 抓取的数据量有限制,一般都是最近的几千条数据
通过网页抓取
这个方法是我们这篇文章的重点,优点是不需要获取token,其次获取的数据量相对较多。但是缺点也很明显就是较为麻烦。本文也将详细的解析每个步骤,让抓取变得简单。
2. 分析目标网站
分析目标网站,随便输入一个关键词搜索以后你可以在搜索栏的右边看到高级搜索的选项,如下图