只需几步即可实现Python对新浪微博手机端的爬虫
新浪微博手机端地址 https://m.weibo.cn
我要爬取微博名为[“锦鲤大王”]的2019全部微博
登录微博手机端找到需要的信息
找到Request URL
找到user agent 和 cookie
每条微博的具体信息都存放在这里
之后根据上面的信息写爬虫代码,我的爬虫代码很粗糙,没有进一步完善,只是给需要的小伙伴提供一个思路
import requests
import csv
import time
import random
import jsondef spider(page_num):main_url = "https://m.weibo.cn/api/container/getIndex?uid=3641513235&luicode=10000011&" \"lfid=231093_-_selffollowed&type=uid&value=3641513235&containerid=1076033641513235" # main_url为要爬取博主的主页地址if page_num:main_url = main_url + '&page=' + str(page_num)# 微博的分页机制是每页10条微博header = {"user-agent": "Mozilla / 5.0(X11; Linux x86_64) AppleWebKit / 537.36(KHTML, likeGecko) ""Chrome / 77.0.3865.120Safari / 537.36",} # 设置请求头cookie = {'cookies': "输入自己微博的cookie"}try:r = requests.get(url=main_url, headers=header, cookies=cookie)r.raise_for_status()except Exception as e:print("爬取失败", e)return 0result_json = json.loads(r.content.decode('utf-8'))info_list = [] for card in result_json['data']['cards']:info_list_sub = []if card.get("mblog"):info_list_sub.append(card['mblog']['attitudes_count']) # 获赞数info_list_sub.append(card['mblog']['comments_count']) # 评论数info_list_sub.append(card['mblog']['reposts_count']) # 转发数if page_num == 1:info_list_sub.append(card['mblog']['created_at']) # 发博时间elif '2018' not in card['mblog']['created_at']:info_list_sub.append(card['mblog']['created_at']) else:print("2019年微博爬取完毕")breakinfo_list_sub.append(card['mblog']['weibo_position']) # 是否原创if card['mblog'].get('raw_text'):info_list_sub.append(card['mblog']['raw_text']) # 微博内容else:info_list_sub.append(card['mblog']['text'])# if card['mblog']['source'] == '':# info_list_sub.append(None)# else:# info_list_sub.append(card['mblog']['source'])time.sleep(random.randint(4, 6)) # 每爬取一条微博暂停4到6秒,防反爬info_list.append(info_list_sub)else:continuereturn info_listdef save_csv(infolist):with open('/home/long/Documents/weibo2.csv', 'a+', encoding='utf_8_sig', newline='') as f:writer = csv.writer(f)writer.writerows(infolist)def main(num):for i in range(1, num+1):information = spider(i)save_csv(information)print("第%s页爬取完毕" % i)if __name__ == '__main__':main(500) # 爬取500页
希望能对需要的小伙伴有所帮助,有问题可以在评论区找我哦
只需几步即可实现Python对新浪微博手机端的爬虫相关推荐
- 【DB宝4】只需2步即可拥有Oracle19c的ASM+DB环境
[DB宝4]只需2步即可拥有Oracle19c的ASM+DB环境 文章目录 目录 一.从Docker Hub下载小麦苗上传的镜像 二.创建容器 三.尽情使用吧 3.1 数据库使用示例: 3.2 在外部 ...
- pdf如何转word?只需两步即可完成在线pdf转word
pdf格式文档良好的阅读性以及便捷性,使得其得到了越来越广泛的使用,但是如果我们想要对其中的某些内容进行二次编辑的时候就比较不方便了,需要先将pdf转word后再使用,那么pdf如何转word呢?今天 ...
- 负载均衡服务器可以说虚拟机吗,配置网络负载均衡只需十步即可完成
不知道作为一名软件研发者,你配置一个网络负载均衡需要多久的时间,你是否在犹豫哪一步应该怎样做?哪一步应该怎样配置?不妨直说,小编完成这项工作只需要十步就可以完成了.如果想知道小编是怎样做到的吗?那就请 ...
- android app在线商城,ECMobile:只需一步即可生成iOS或Android原生APP商城应用
App 快速开发服务已经屡见不鲜,国内有简网 App 工场.道有道.ECMobile这么简洁--你只需将一个集成过的文件夹放进ECShop(一款被广泛使用的开源 B2C 网店)安装根目录,无需任何配置 ...
- android生成ios程序,ECMobile:只需一步即可生成iOS或Android原生APP商城应用
App 快速开发服务已经屡见不鲜,国内有简网 App 工场.道有道.ECMobile这么简洁--你只需将一个集成过的文件夹放进ECShop(一款被广泛使用的开源 B2C 网店)安装根目录,无需任何配置 ...
- JDK安装配置-只需两步即可(附jdk安装包,win10系统)
一.JDK安装(欢迎来到Java世界) (一).下载JDK JDK:Java SE Development Kit(Java SE开发工具包) JDK版本更新太快,但是几乎没有公司直接使用最新JDK做 ...
- 无法启动游戏 因为计算机,WeGame只需五步即可解决游戏无法启动的问题!
对于平时有事儿没事儿都爱玩游戏的小伙伴们来说,想必WeGame大家一定都不陌生.它是一款腾讯发布的游戏平台,有点类似于Steam,在WeGame游戏平台中,拥有种类繁多的游戏,比如目前比较热门的使命召 ...
- stm32f103+FFT+OLED的音乐频谱制作(只需三步即可)
效果演示:FFT音乐频谱DIY STM32+OLED_哔哩哔哩_bilibili 制作过程: 1.准备材料: stm32f103核心板 1块 OLED12864显示屏 1块(SPI接口) 声音检测传感 ...
- 邮件服务器如何搭建?企业邮箱邮件服务器搭建只需几步即可
企业邮箱作为公司的办公工具,其邮件服务器的搭建,决定了邮件收发的稳定性和安全性,今天就给大家分享下企业邮箱邮件服务器搭建的方法,既可以节省成本也能提高邮箱性能. 一个顶级域名: 什么是企业邮箱,企业邮 ...
最新文章
- Python-从视频到gif(imageio,moviepy,ffmpeg)
- sql中varchar(n),nvarchar(n) 长度性能及所占空间分析
- 一位刚刚成功上岸的智能车队员对于参赛经历总结与对比赛的建议
- mysql 自定义提示符
- python2.7安装matplotlib_Python安装Numpy和matplotlib
- 2、Mysql 8.0.20最新版本修改密码
- boost::mp11::mp_min_element_q相关用法的测试程序
- 函数传参字典_Python 函数中的 4 种参数类型
- pythonspot_python-Spotipy-列表索引超出范围
- java io 机器名_java IO最让初学者误解的取名方式
- 作为一名大厂的测试人员,软件测试真的是一份低调的工作吗?
- python获取月份 pos_python – 如何从POS标记单词列表中提取模式? NLTK
- 新手php环境一键安装包,常用PHP运行环境一键安装包
- 汇编Masm更改颜色
- python朋友圈点赞统计_微信公众号所有历史文章的标题/点赞数/阅读数统计
- OV426+OVM6946基于FPGA调试成像
- git format-patch命令介绍
- maven项目指定项目编码
- 转换IC CD7833CZ:4x41W汽车音响功率放大电路
- Ionic移动app开发:app登录实现完整过程
热门文章
- 让不能上网的机器借能上网的机器上网
- java对于 进行字符串分隔_Java字符串分割函数split中以·点分割的问题
- Spring Boot 2.x基础教程:使用LDAP来管理用户与组织数据
- span class=red[置顶]/span分组对称加密模式:ECB/CBC/CFB/OFB缺CTR- -
- docker安装flarum步骤记录
- 原来Slack是这样成为史上增长最快的SaaS产品的
- 投毒者对 PyPi 上的开源包开发者下手了
- [日推荐]『讯飞快读』人工智能高效管理时间
- aac转化为mp3,详细转换步骤
- vue组件父传子参数,参数还没赋值完成就被传递,传递了空参数