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: 微博文章的标识
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]
    # 这样就获取到了一条完整的微博数据
    

这里就是我的抓取思路,代码仅供提供思路

新浪微博爬虫-抓取用户发布的微博相关推荐

  1. 这家简历大数据公司被“一锅端” 或因私自抓取用户简历:曾获李开复投资

    三四月份依然是求职季,关于简历的那些事大家都格外关心,但试想如果自己的简历能被第三方企业随意抓取利用,也是件挺糟心的事. 而最近,简历大数据公司巧达科技就疑似因在没有获得授权下抓取用户简历被" ...

  2. 使用Wireshark抓取用户在网站的登陆密码

    使用Wireshark抓取用户在网站的登陆密码 下载Wireshark 获取想要抓取网站的IP 开始抓包 结束 下载Wireshark Wireshark下载地址 下载后傻瓜式安装 获取想要抓取网站的 ...

  3. Scrapy豆瓣爬虫 爬取用户以及用户关注关系

    文章目录 明确任务 1.新建mysql数据库以及数据表 1.1 创建数据库 1.2 创建用户信息表users 1.3 创建用户关注表user_follows 笔记一: mysql中utf8与utf8m ...

  4. Java编写抓取用户信息代码_[代码全屏查看]-一个基于JAVA的知乎爬虫,抓取知乎用户基本信息...

    [1].[代码] [Java]代码 作者:卧颜沉默 链接:https://www.zhihu.com/question/36909173/answer/97643000 来源:知乎 著作权归作者所有. ...

  5. Python模拟登陆新浪微博,爬取用户数据

    目标 爬取新浪微博用户数据,包括以下字段:id,昵称,粉丝数,关注数,微博数,每一篇微博的内容,转发数,评论数,点赞数,发布时间,来源,以及是原创还是转发.(本文以GUCCI(古驰)为例) 方法 + ...

  6. java模拟登录知乎_Android(Java) 模拟登录知乎并抓取用户信息

    前不久.看到一篇文章我用爬虫一天时间"偷了"知乎一百万用户.仅仅为证明PHP是世界上最好的语言,该文章中使用的登录方式是直接复制cookie到代码中,这里呢,我不以爬信息为目的.仅 ...

  7. mysql数据库 quota_shell脚本抓取用户存储quota写道mysql并展现到grafana面板

    通过shell脚本抓取存储home用户的空间使用情况,写到excel文件里,再导入到mysql数据库,最后通过grafana进行展示 vi aa.sh #!/bin/bash Date=date +& ...

  8. piwik抓取用户交互行为

    2019独角兽企业重金招聘Python工程师标准>>> https://github.com/matomo-org/matomo-sdk-ios/tree/version-3 htt ...

  9. 最新python爬虫抓取新浪微博千万级数据,scrapy思路+架构+源码

    一.前期工作... 3 1.1 爬取目标... 3 1.2 准备工作... 3 1.3 爬取思路... 3 1.4 爬取分析... 3 二.项目实战... 5 2.1 新建项目... 5 2.2 创建 ...

最新文章

  1. 今天且明白父母为什么生死度外的让孩子们读书
  2. 【分析】腾讯年终总结:微信用户一天到晚都在干啥
  3. 华硕老毛子(Padavan)——L2TP连接自动重连解决方案
  4. VTK:可视化算法之CutWithCutFunction
  5. svn locked解决方法
  6. 二维与三维之间的桥梁——点云
  7. 互联网日报 | 6月27日 星期日 | B站举办十二周年演讲;特斯拉在华召回285520辆汽车;小鹏汽车将于7月7日在港上市...
  8. 微软遭遇XP SP3疯狂重启尴尬境地
  9. algorithm头文件下函数整合
  10. CISCO 路由器(1)
  11. 结构体内存对齐(如何计算结构体的大小)
  12. intel AVX / AVX2指令学习资源
  13. 《博客女王干群皇太后名人世界》中国最著名博客女王干群原创作品编号2012100706
  14. 医院排队叫号系统(JAVA版)
  15. Typescript+Vue大型后台管理系统实战
  16. 移动开发与H5交互的研究
  17. 日语输入法时的部分实用快捷键
  18. AI“头雁”百度的进取之道:善弈者通盘无妙手
  19. 0xfffffff1 lr_CortexM处理器的一些特性记录
  20. vscode + vue 入门学习

热门文章

  1. 像素及其表示,灰度图
  2. 60万奖金“人脸攻防大战”,全部进阶妙招奉上丨独家公开课实录(3)
  3. 人工神经网络与深度神经网络
  4. 一文带你浅入浅出Keepalived
  5. 电视端虚拟鼠标的设计
  6. “完数”问题 求1000以内的完数
  7. python制作英语字典_python制作英文学习字典案列
  8. Sequence的层次化
  9. android相关学习网站
  10. Delphi中使用TThread类实现多线程