一、环境以及微博接口
环境:python3
微博接口:由于电脑端的反爬措施过于严密,所以我就选择绕过电脑端的直接选择手机端的接口。接口查找步骤如下:
1、使用谷歌浏览器进入微博,搜索想要爬取的微博博主:
然后点击进入微博主页。
2、按F12,点击响应式设计模式(就是模拟手机模式)
选择xhr,然后按F5刷新,就会出现很多的接口。选择如下图这个接口:
选择带小齿轮和具有since_id特征的那个。因为since_id后面翻页需要用到。
这样微博接口就拿到了。
二、代码实现:
import requests
import json
import jsonpath
from pyquery import PyQuery as pq
import xlwt
import time
headers = {
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:88.0) Gecko/20100101 Firefox/88.0'
}
#定义开始时间
time_end = 1590940800.0
#定义结束时间
time_start = 1577808000.0
#定义控制条件
bool_s = 1
work_book=xlwt.Workbook(encoding='utf-8')
sheet=work_book.add_sheet('sheet1')
y = 0
arr_list = ["博主","简介","关注数","粉丝数","总发帖数","发布时间","标注","点赞数","转发数","评论数","是否源于转发","博文"]
sheet.write(y,0,arr_list[0])
sheet.write(y,1,arr_list[1])
sheet.write(y,2,arr_list[2])
sheet.write(y,3,arr_list[3])
sheet.write(y,4,arr_list[4])
sheet.write(y,5,arr_list[5])
sheet.write(y,6,arr_list[6])
sheet.write(y,7,arr_list[7])
sheet.write(y,8,arr_list[8])
sheet.write(y