微博数据爬虫——获取用户基本信息(三)
目标:获取微博用户的基本信息,如关注数、粉丝数、微博数量、注册时间
首先获取page_id
使用正则匹配获取
add = urllib.request.Request(url="https://weibo.com/u/%s?is_all=1" % (o_id), headers=headers)
r = urllib.request.urlopen(url=add, timeout=20).read().decode('utf-8')
page_id = re.findall(r'\$CONFIG\[\'page_id\']=\'(\d+)\'', r)[0]
而后通过匹配获取基本信息
add = urllib.request.Request(url="https://weibo.com/p/%s/info" % (page_id), headers=headers)
r = urllib.request.urlopen(url=add, timeout=20).read().decode('utf-8')
nums = re.findall(r'<strong class=\\"W_f.*?\\">(\d*)<\\/strong>', r)
regist_time = re.findall(r'注册时间:.*?<span class=\\"pt_detail\\">(.*?)<\\/span>', r)[0]
regist_time = regist_time.replace(" ","").replace("\\r\\n","")
dic["follow_num"] = nums[0]
dic["fun_num"] = nums[1]
dic["post_num"] = nums[2]
dic["regist_time"] = regist_time
最终代码如下:
import json
import re
from urllib import request
import urllib
import configdef get_user_action(o_id):dic = {}headers = config.get_headers()add = urllib.request.Request(url="https://weibo.com/u/%s?is_all=1" % (o_id), headers=headers)r = urllib.request.urlopen(url=add, timeout=20).read().decode('utf-8')page_id = re.findall(r'\$CONFIG\[\'page_id\']=\'(\d+)\'', r)[0]add = urllib.request.Request(url="https://weibo.com/p/%s/info" % (page_id), headers=headers)r = urllib.request.urlopen(url=add, timeout=20).read().decode('utf-8')print("https://weibo.com/p/%s/info" % (page_id))print(r)nums = re.findall(r'<strong class=\\"W_f.*?\\">(\d*)<\\/strong>', r)regist_time = re.findall(r'注册时间:.*?<span class=\\"pt_detail\\">(.*?)<\\/span>', r)[0]regist_time = regist_time.replace(" ","").replace("\\r\\n","")dic["follow_num"] = nums[0]dic["fun_num"] = nums[1]dic["post_num"] = nums[2]dic["regist_time"] = regist_timereturn dicif __name__ == '__main__':dic = get_user_action("1906123125")json_f = open("data/data_userinfo.json", "w")json.dump(dic, json_f, indent=4)
微博数据爬虫——获取用户基本信息(三)相关推荐
- 微博数据爬虫——获取用户微博相关信息(四)
任务:给定u_id,获取用户每条微博的mid.发布时间.照片数.@数.链接数 1.获取微博信息 查看网页源代码,发现数据保存在js中 利用正则匹配可以实现获取单条微博全部信息 add = urllib ...
- 微博数据爬虫——获取特定ID的热门转发用户列表(五)
前言:由于微博网页采用动态加载方式,只能获取到js脚本,不能使用beautifulsoup解析,需要使用正则匹配获取信息 1.获取用户热门帖子转发地址 如下Kb4cwauSp为转发地址的关键参数 使用 ...
- 微博数据爬虫——获取特定ID的粉丝和关注(二)
注意:近期发现使用requests库访问微博数据出现ssl error错误,而使用urllib库访问则不会出现错误 功能:给定特定微博用户ID,获取微博用户的粉丝和关注 1.通过o_id获取p_id ...
- php微博获取用户信息,获取用户基本信息
获取用户基本信息 通过该接口,开发者可以获取自己微博账号粉丝的基本信息,包括昵称.头像.性别.所在城市.语言和关注时间等. URL HTTP请求方式 GET 是否需要登录 是 关于登录授权,参见 如何 ...
- 微信开发 网页授权获取用户基本信息
微信公众平台最近新推出微信认证,认证后可以获得高级接口权限,其中一个是OAuth2.0网页授权,很多朋友在使用这个的时候失败了或者无法理解其内容,希望我出个教程详细讲解一下,于是便有了这篇文章. 一. ...
- 微信开发之网页授权获取用户基本信息
微信官方文档:网页授权获取用户基本信息 具体而言,网页授权流程分为四步: 1.引导用户进入授权页面同意授权,获取code https://open.weixin.qq.com/connect/oaut ...
- 第八篇 :微信公众平台开发实战Java版之如何网页授权获取用户基本信息
第一部分:微信授权获取基本信息的介绍 我们首先来看看官方的文档怎么说: 如果用户在微信客户端中访问第三方网页,公众号可以通过微信网页授权机制,来获取用户基本信息,进而实现业务逻辑. 关于网页授权回调域 ...
- [小程序项目] 使用微信开发者工具 新闻小项目 轮播图 新闻列表页 点击跳转新闻详情页 登录 获取用户基本信息
文章目录 效果 Gitee 目录结构 app.json 首页 pages/news/news.wxml pages/news/news.wxss pages/news/news.js 配置网络请求 u ...
- 微信公众号开发系列-网页授权获取用户基本信息
OAuth2.0网页授权这个也是在做微信公众平台用到最多的,可以利用授权接口对自己平台内用户进行绑定,实现用户扫描码和微信分享.微信签到.微信商城购物等: 1.高级接口OAuth2.0网页授权设置 a ...
最新文章
- 基于springboot实现疫情管理系统
- c# 重写override
- 十个免费的WEB压力测试工具
- CSS3 skew倾斜、rotate旋转动画
- 回溯法:批量作业调度
- linux命令 ps aux | grep xxx详解
- ubuntu下终端提示符设置
- 给文件夹中的文件批量更改名称
- 本周测试服务器角色转移系统仅开放转入,梦幻西游10月8日更新内容一览
- 用matlab读pcap文件,libpcap读取本地pcap文件
- python xlwt_Python xlwt导出excel完整版
- base64转图片,保存之后图片打不开
- linux邮件客户端配置文件,在Deepin V20下配置Evolution邮件客户端,添加新邮箱全过程...
- 嵌入式开发正在日薄西山
- 日期格式‘YYYY-MM-DD’中的BUG
- RAM与ROM的原理与区别
- 星淘惠:沙特阿拉伯或将成为亚马逊跨境卖家新蓝海市场
- 以下符号可直接复制使用
- CorelDRAW VBA - 将文档保存或另存为X4版本
- 雅思听力地图题常用词汇及技巧
热门文章
- 硬件杂谈(国内单片机类硬件公司)
- vue学习 (一 模板语法)
- java 句柄数 设置_技术文档(2)--Linux 句柄数设置情况,问题:java.io.IOException: Too many open files...
- 产业互联网时代的到来(内容摘自看雪论坛)
- java弹弓类游戏_Android cocos2d 弹弓游戏 Catapult 源代码
- Git配置并且绑定GitHub
- 宽电压 LED 降压型恒流芯片 大功率LED 车灯芯片
- 打印空心菱形c语言编程,用C语言打印空心菱形问题
- [转载] 将kg/m^2转化为mm的理解
- java/php/net/python物流配送中心管理系统设计