微博爬虫,python微博用户主页小姐姐图片内容采集爬虫
python爬虫,微博爬虫,需要知晓微博用户id号,能够通过抓取微博用户主页内容来获取用户发表的内容,时间,点赞数,转发数等数据,当然以上都是本渣渣结合网上代码抄抄改改获取的!
要抓取的微博地址:https://weibo.com/u/5118612601
BUT,我们实际应用的抓取地址:https://m.weibo.cn/u/5118612601(移动端的微博地址)
LSP的最爱,各种小姐姐,随你任意爬取,快收藏起来啊!
通过浏览器抓包,我们可以获悉几个比较重要的参数:
- type: uid
- value: 5118612601
- containerid: 1005055118612601
其实还有一个比较重要的参数,那就是翻页:'page':page!
还有一个SSL错误问题,大家可以自行处理!
- import logging
- logging.captureWarnings(True)
- # 屏蔽warning信息
- requests.packages.urllib3.disable_warnings()
- html=requests.get(self.url,headers=self.headers,params=params,timeout=5,verify=False).content.decode('utf-8')
几个关键点
获取 containerid 参数
- def get_containerid(self):
- url = f'https://m.weibo.cn/api/container/getIndex?type=uid&value={self.uid}'
- data = requests.get(url,headers=self.headers,timeout=5,verify=False).content.decode('utf-8')
- content = json.loads(data).get('data')
- for data in content.get('tabsInfo').get('tabs'):
- if (data.get('tab_type') == 'weibo'):
- containerid = data.get('containerid')
- self.containerid=containerid
获取 微博用户发表 数据
- def get_content(self,i):
- params={
- 'type': 'uid',
- 'value': self.uid,
- 'containerid': self.containerid,
- 'page':i,
- }
- html=requests.get(self.url,headers=self.headers,params=params,timeout=5,verify=False).content.decode('utf-8')
- data=json.loads(html)['data']
- cards=data['cards']
- #print(cards)
- j = 1
- for card in cards:
- if "mblog" in str(card):
- mblog = card['mblog']
- raw_text = mblog['raw_text'] # 文本内容
- print(raw_text)
- scheme=card['scheme'] #微博链接
- attitudes_count = mblog.get('attitudes_count') #点赞数
- comments_count = mblog.get('comments_count') #评论数
- created_at = mblog.get('created_at') #发布时间
- reposts_count = mblog.get('reposts_count') #转发数
- print(scheme)
- img_path=f'{self.path}{i}/{j}'
- os.makedirs(f'{img_path}/',exist_ok=True)
- with open(f'{img_path}/{j}.txt', 'a', encoding='utf-8') as f:
- f.write(f'{raw_text}')
- img_urls=[]
- if mblog.get('pics') != None:
- img_datas=mblog['pics']
- for img_data in img_datas:
- img_url=img_data['large']['url']
- img_urls.append(img_url)
- print(img_urls)
- #多线程下载图片
- self.get_imgs(img_urls,img_path)
- #多进程下载图片
- #self.get_pimgs(img_urls)
- with open(f'{self.uid}/{self.uid}.txt', 'a', encoding='utf-8') as fh:
- fh.write("----第" + str(i) + "页,第" + str(j) + "条微博----" + "\n")
- fh.write(f"微博地址: {str(scheme)}\n微博内容:{raw_text}\n"
- f"发布时间:{str(created_at)}\n转发数:{str(reposts_count)}\n"
- f"点赞数:{str(attitudes_count)}\n评论数:{str(comments_count)}\n\n")
- j=j+1
- time.sleep(2)
多线程下载图片
- #多线程下载图片
- def get_imgs(self,img_urls,img_path):
- threadings = []
- for img_url in img_urls:
- t = threading.Thread(target=self.get_img, args=(img_url,img_path))
- threadings.append(t)
- t.start()
- for x in threadings:
- x.join()
- print("多线程下载图片完成")
- def get_img(self, img_url,img_path):
- img_name = img_url.split('/')[-1]
- print(f'>> 正在下载图片:{img_name} ..')
- r = requests.get(img_url, timeout=8, headers=self.headers,verify=False)
- with open(f'{img_path}/{img_name}', 'wb') as f:
- f.write(r.content)
- print(f'>> 图片:{img_name} 下载完成!')
本来还想搞个多进程,结果翻车了,报错各种头秃,那就不搞了!!
本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理
想要获取更多Python学习资料可以加QQ:2955637827私聊或加Q群630390733大家一起来学习讨论吧!
微博爬虫,python微博用户主页小姐姐图片内容采集爬虫的更多相关文章
- APP爬虫(2)把小姐姐的图片down下来
APP爬虫(1)想学新语言,又没有动力,怎么办? 书接上文.使用appium在帖子列表界面模拟上划动作,捕捉不到列表的规律.上划结束后,列表只能获取到屏幕呈现的部分,而且下标还是从0开始的. 根据酸奶 ...
- 用Python做个海量小姐姐素描图
素描作为一种近乎完美的表现手法有其独特的魅力,随着数字技术的发展,素描早已不再是专业绘画师的专利,今天这篇文章就来讲一讲如何使用python批量获取小姐姐素描画像.文章共分两部分: 第一部分介绍两种使 ...
- python爬取快手小姐姐视频
流程分析 一.导入需要的三方库 import re #正则表表达式文字匹配 import requests #指定url,获取网页数据 import json #转化json格式 import os ...
- Python爬虫:爬取美拍小姐姐视频
最近在写一个应用,需要收集微博上一些热门的视频,像这些小视频一般都来自秒拍,微拍,美拍和新浪视频,而且没有下载的选项,所以只能动脑想想办法了. 第一步 分析网页源码. 例如:http://video. ...
- Python 抖音机器人,论如何在抖音上找到漂亮小姐姐?
只有想不到,没有做不到,最近抖音风靡好友圈,马上就有技术宅本着“代码改变世界”的理念开始了搞事之路. 需要注意的事,漂亮不漂亮没有明确的界限,每个人都有每个人的审美,只有外表而没有心灵的美也是空洞的. ...
- [Python]小百合十大爬虫
国庆几天在家看了几篇关于使用Python来编写网络爬虫的博客,想来自己断断续续学习Python也有几个月了,但一个像样的程序都没有写过,编程能力并没有得到提高,愧对自己花费的时间.很多时候虽然知道什么 ...
- 用python爬取之后发现果然如此,都说知乎的小姐姐漂亮
前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取http ...
- 要不是真的喜欢学技术,谁会来用Python爬小姐姐啊
养成习惯,先赞后看!!!不用于任何商业价值,只是自己娱乐.否则 爬虫爬的好,牢饭吃到饱.这是我们这次爬取的网址:https://www.vmgirls.com/ 很多人学习python,不知道从何学起 ...
- Python爬虫学习第一记 (翻译小助手)
1 # Python爬虫学习第一记 8.24 (代码有点小,请放大看吧) 2 3 #实现有道翻译,模块一: $fanyi.py 4 5 import urllib.request 6 import u ...
随机推荐
- api-hook,更轻量的接口测试工具
前言 在网站的开发过程中,接口联调和测试是至关重要的一环,其直接影响产品的核心价值,而目前也有许多技术方案和工具加持,让我们的开发测试工作更加便捷.接口作为数据传输的重要载体,数据格式和内容具有多样性 ...
- JavaScript中的链式调用
链模式 链模式是一种链式调用的方式,准确来说不属于通常定义的设计模式范畴,但链式调用是一种非常有用的代码构建技巧. 描述 链式调用在JavaScript语言中很常见,如jQuery.Promise等, ...
- JSX中写 switch case 进行判断
场景:根据后端返回的数据进行多条件渲染,三元表达式已不能满足条件. 代码: <span> {(() => { switch (record.generalRuleInfos[0]?. ...
- 【线程池】toString
java.util.concurrent.RejectedExecutionException: Task com.personal.practice.jvm.Jstacktest$1@7d605a5 ...
- mysql主从同步上---主从同步原理
1.主从同步机制 1.1 主从同步介绍和优点 在多台数据服务器中,分为主服务器和从服务器.一台主服务器对应多台从服务器. 主服务器只负责写入数据,从服务器只负责同步主服务器的数据,并让外部程序 ...
- redis面试问题(一)
五大常用数据类型 redis与其他缓存的比较 rdb和aof 主从复制,读写分离,哨兵机制 -------------------------------- 1.为什么使用redis (一)性能 我们 ...
- win10下安装anaconda3+tensorflow
安装了三天终于安装成功了,今天简单写下自己的安装步骤 1.下载可以在Anaconda3官网下载:https://www.anaconda.com/products/individual 也可以通过清华 ...
- 安装IAR编译器详解
1.首先下载好安装包和破解包 我安装使用的版本:IAR for 8051 v9.10 链接: https://pan.baidu.com/s/13x36j5qL90YokrAlyChQhw 提取码: ...
- python3 通过 pybind11 使用Eigen加速代码
python是很容易上手的编程语言,但是有些时候使用python编写的程序并不能保证其运行速度(例如:while 和 for),这个时候我们就需要借助c++等为我们的代码提速.下面是我使用pybind ...
- PyQt(Python+Qt)学习随笔:QTreeWidgetItem项是否禁用disable、隐藏isHidden和允许选中isSelected
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 树型部件QTreeWidget的项QTreeWidgetItem对象具有是否禁用disable.是否 ...