新浪微博爬虫-抓取用户发布的微博
1.寻找接口
- 在浏览器中访问微博寻找接口
- 请求 https://weibo.com/yangmiblog?profile_ftype=1&is_all=1#_0 杨幂发布所有的微博列表页,每个微博用户唯一不同的是
yangmiblog
这一部分,其他的微博列表替换掉这一部分就行 - 详情页的接口,有很多每个接口,在列表页中寻找详情页所需要的参数,拼接就行
- 接口1,老微博的接口 https://weibo.cn/comment/IpAmFboF7?uid=2803301701
IpAmFboF7
: 微博详情页的标识,uid
:这个微博账号的标识 - 客户端详情页的接口2, https://m.weibo.cn/status/4460578661751867
4460578661751867
: 微博文章的标识
- 接口1,老微博的接口 https://weibo.cn/comment/IpAmFboF7?uid=2803301701
2.获取cookie
请求列表页https://weibo.com/yangmiblog?profile_ftype=1&is_all=1#_0经过尝需要携带的参数是 cookie中的 SUB,需要我们获取cookie中的SUB参数
使用 selenium访问列表页获取页面的cookie,获取
SUB
的值, 怎么获取cookie参考我的另一篇文章selenium获取cookie
3.解析微博内容我使用的是客户端详情页的接口
获取列表页,解析出详情页的标识
4460578661751867
import requests import jsonheaders = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3980.0 Safari/537.36 Edg/80.0.355.1','Cookie':'SUB=_2AkMpQl9Zf8NxqwJRmP4Uz2vmaox_yAvEieKfHq6CJRMxHRl-yj9jqhwttRB6AsJxtmeKpiXNyz7GDDQw5YkpmIZ6O0s2'} def get_history():weibo_url = "https://weibo.com/yangmiblog?profile_ftype=1&is_all=1"response = requests.get(url=weibo_url, headers=headers)try:html_doc = response.content.decode('utf-8')except Exception as e:print('获取历史页错误,cookie过期')return None# 解析历史页article_id_list = re.findall(r'mid=\\"(\d+)\\"', html_doc, re.S)return article_id_list
拼接url对详情页发送请求
response = requests.get(url, timeout=20, headers={"User-Agent": 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3980.0 Safari/537.36 Edg/80.0.355.1',"Sec - Fetch - User":"?1","Upgrade - Insecure - Requests": "1"}) html = response.text data = json.loads(re.findall(r'render_data = \[(.*?)\]\[0\]', html, re.S)[0]) # 内容 content = data['status']['text'] # 转发量 reposts_count = data['status']['reposts_count'] # 评论量 comments_count = data['status']['comments_count'] # 点赞量 attitudes_count = data['status']['attitudes_count'] # 标题 title = data['status']['status_title'] pub_time_str = data['status']['created_at'].split(' ') month = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'].index(pub_time_str[1]) + 1 # %Y-%m-%d %H:%M:%S # 发布时间 pub_time = pub_time_str[-1] + '-' + str(month) + '-' + pub_time_str[2] + ' ' + pub_time_str[3] # 这样就获取到了一条完整的微博数据
这里就是我的抓取思路,代码仅供提供思路
新浪微博爬虫-抓取用户发布的微博相关推荐
- 这家简历大数据公司被“一锅端” 或因私自抓取用户简历:曾获李开复投资
三四月份依然是求职季,关于简历的那些事大家都格外关心,但试想如果自己的简历能被第三方企业随意抓取利用,也是件挺糟心的事. 而最近,简历大数据公司巧达科技就疑似因在没有获得授权下抓取用户简历被" ...
- 使用Wireshark抓取用户在网站的登陆密码
使用Wireshark抓取用户在网站的登陆密码 下载Wireshark 获取想要抓取网站的IP 开始抓包 结束 下载Wireshark Wireshark下载地址 下载后傻瓜式安装 获取想要抓取网站的 ...
- Scrapy豆瓣爬虫 爬取用户以及用户关注关系
文章目录 明确任务 1.新建mysql数据库以及数据表 1.1 创建数据库 1.2 创建用户信息表users 1.3 创建用户关注表user_follows 笔记一: mysql中utf8与utf8m ...
- Java编写抓取用户信息代码_[代码全屏查看]-一个基于JAVA的知乎爬虫,抓取知乎用户基本信息...
[1].[代码] [Java]代码 作者:卧颜沉默 链接:https://www.zhihu.com/question/36909173/answer/97643000 来源:知乎 著作权归作者所有. ...
- Python模拟登陆新浪微博,爬取用户数据
目标 爬取新浪微博用户数据,包括以下字段:id,昵称,粉丝数,关注数,微博数,每一篇微博的内容,转发数,评论数,点赞数,发布时间,来源,以及是原创还是转发.(本文以GUCCI(古驰)为例) 方法 + ...
- java模拟登录知乎_Android(Java) 模拟登录知乎并抓取用户信息
前不久.看到一篇文章我用爬虫一天时间"偷了"知乎一百万用户.仅仅为证明PHP是世界上最好的语言,该文章中使用的登录方式是直接复制cookie到代码中,这里呢,我不以爬信息为目的.仅 ...
- mysql数据库 quota_shell脚本抓取用户存储quota写道mysql并展现到grafana面板
通过shell脚本抓取存储home用户的空间使用情况,写到excel文件里,再导入到mysql数据库,最后通过grafana进行展示 vi aa.sh #!/bin/bash Date=date +& ...
- piwik抓取用户交互行为
2019独角兽企业重金招聘Python工程师标准>>> https://github.com/matomo-org/matomo-sdk-ios/tree/version-3 htt ...
- 最新python爬虫抓取新浪微博千万级数据,scrapy思路+架构+源码
一.前期工作... 3 1.1 爬取目标... 3 1.2 准备工作... 3 1.3 爬取思路... 3 1.4 爬取分析... 3 二.项目实战... 5 2.1 新建项目... 5 2.2 创建 ...
最新文章
- 今天且明白父母为什么生死度外的让孩子们读书
- 【分析】腾讯年终总结:微信用户一天到晚都在干啥
- 华硕老毛子(Padavan)——L2TP连接自动重连解决方案
- VTK:可视化算法之CutWithCutFunction
- svn locked解决方法
- 二维与三维之间的桥梁——点云
- 互联网日报 | 6月27日 星期日 | B站举办十二周年演讲;特斯拉在华召回285520辆汽车;小鹏汽车将于7月7日在港上市...
- 微软遭遇XP SP3疯狂重启尴尬境地
- algorithm头文件下函数整合
- CISCO 路由器(1)
- 结构体内存对齐(如何计算结构体的大小)
- intel AVX / AVX2指令学习资源
- 《博客女王干群皇太后名人世界》中国最著名博客女王干群原创作品编号2012100706
- 医院排队叫号系统(JAVA版)
- Typescript+Vue大型后台管理系统实战
- 移动开发与H5交互的研究
- 日语输入法时的部分实用快捷键
- AI“头雁”百度的进取之道:善弈者通盘无妙手
- 0xfffffff1 lr_CortexM处理器的一些特性记录
- vscode + vue 入门学习