爬一个人的所有微博 python_Python爬虫--爬取微博指定用户主页下的所有图片
Python爬虫--爬取微博指定用户主页下的所有图片
写在前面
最近比较无聊,冒出来一个想法,去各大图片网站爬取大妹子的图片,然后自己写个简单的网站,按网站分类显示图片,第一个想到的是爬取知乎问题下面的答案,肯定有很多 漂亮的小姐姐,然后是微博,有些图片博主会发很多街拍图片,最后是百度上搜索图片网站。知乎我试了试,网上找了些教程,我放弃了,目前暂时爬不动。于是转战微博, 准备爬取微博用户主页下的发布微博内容中的所有图片,当然文字内容想要一样可以爬取,这里我只爬取图片。
最开始我还是去百度找别人的教程,说不定有写好的代码直接拿来用也行,后来发现基本微博都是模拟登陆,然后爬取用户信息的,感觉很麻烦,后来我自己登录微博试了试, 只用cookies就可以爬取了,功能不是很强的,只能爬取指定用户发布的微博内容,但是代码很简单,实现的功能也满足了自己的需求。
分析请求url
首先要先登录自己的微博,然后随便找到一个图片博主,比如这样,
然后打开谷歌开发者调试页面,这里每一页的内容大概是分两三次动态加载的,页面不断地往下滑动,直到在调试页面出现这样一个链接:
接下来我们点击下一页,到第二页,然后下滑获取到这个链接的请求url,观察参数有什么变化
最后发现请求url中只有三个参数是变化的,表示请求的页面,pagebar,page, pre_page,这样我们就可以通过构造请求url,爬取主页下每一页页的微博内容了
分析页面html
分析页面,可以发现每一篇微博的图片原图链接是字符串的形式在标签中,如图:
最后,我们只需要解析这段字符串,获取图片url,就能够获取到我们要的图片了
代码
import os
import requests
from bs4 import BeautifulSoup
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.67 Safari/537.36',
'Content-Type': 'application/x-www-form-urlencoded',
'Accept-Language': 'zh-CN,zh;q=0.9',
'Accept-Encoding': 'gzip, deflate, br',
'Referer': 'https://weibo.com/2419425757/profile?topnav=1&wvr=6&is_all=1',
'X-Requested-With': 'XMLHttpRequest',
'Cookie': ''
}
def main():
if not os.path.exists('pic'):
os.mkdir('pic')
for i in range(0, 10):
for j in range(0, 2):
url = 'https://weibo.com/p/aj/v6/mblog/mbloglist?ajwvr=6&domain=100505&is_hot=1&pagebar=%s&pl_name=Pl_Official_MyProfileFeed__21&id=1005052651221301&script_uri=/u/2651221301&feed_type=0&page=%s&pre_page=%s&domain_op=100505&__rnd=1545271176219' % (str(j), str(i), str(i))
print(url)
res = requests.get(url, headers=headers)
res_data = res.json()
html = res_data['data']
soup = BeautifulSoup(html, 'html.parser')
# print(soup.prettify()) # 格式化html内容
ul_list = soup.select('.WB_detail .media_box ul')
for ul in ul_list:
# print(ul)
action_data = ul.attrs.get('action-data', '')
for item in action_data.split('&'):
if 'clear_picSrc' in item:
pic_urls = item.split('=')[1].replace('%2F', '/').split(',')
for pic_url in pic_urls:
pic_name = pic_url.split('/')[-1]
res_of_pic = requests.get('http:' + pic_url)
if res_of_pic.status_code == 200:
with open('pic/' + pic_name, 'wb') as f:
f.write(res_of_pic.content)
print('抓取成功', pic_name)
if __name__ == '__main__':
main()
结果
爬一个人的所有微博 python_Python爬虫--爬取微博指定用户主页下的所有图片相关推荐
- 爬一个人的所有微博 python_pyhton爬虫爬取微博某个用户所有微博配图
前几天写了个java爬虫爬花瓣网,但是事后总感觉不够舒服,终于在今天下午写了个python爬虫(爬微博图片滴),写完之后就感觉舒服了,果然爬虫就应该用python来写,哈哈(这里开个玩笑,非引战言论) ...
- 【微博简易爬虫】Python获取指定微博用户的发布文本
一.背景&目的 心理学专业在读,又一心做一些和数据科学相关的项目,于是选择了基于微博的焦虑和抑郁识别作为毕设项目,开始从数据获取到处理建模到调参的全过程.院里和指导老师都非常在乎数据隐私问题, ...
- python抓取微博评论的图片_用Python语言爬虫抓取微博评论图文教程
提交Cookie信息模拟微博登录 需要爬取登录之后的信息,大家都是望而止步,不要担心,今天呢,给大家提供一个超级简单的方法,就是提交Cookie信息登录微博,首先,我们找到某明星的微博网址:http: ...
- python爬去智联招聘网_Python爬虫爬取智联招聘(进阶版)
点击上方"程序人生",选择"置顶公众号" 第一时间关注程序猿(媛)身边的故事 图片:Westworld Season 2 作者 王强 简介 Python追随者, ...
- 360软件管家怎么下载python_python 爬虫爬取360安全卫士对某一个号码的标识
手机客户端通常会安装了一些类似360安全卫士,手机安全卫士等等诸如此类的软件,这些软件可以标识过滤一些电话号码是诈骗电话.骚扰电话或广告推销............ 由于公司是线商业务,很多号码配置给 ...
- python爬去百度百科词条_python简单爬虫爬取百度百科python词条网页
目标分析: 目标:百度百科python词条相关词条网页 - 标题和简介 入口页:https://baike.baidu.com/item/Python/407313 URL格式: - 词条页面URL: ...
- 微博数据爬虫——V影响力榜top100用户(一)
1.分析网页结构 网页链接如下:https://v6.bang.weibo.com/czv/domainlist?date=202103&period_type=month 可使用选择器提取b ...
- Android:打开手机微博app,跳转至指定用户页面用于关注
文章内容如标题 先看一下实现效果: 跳转至微博 好了,我来说一下这个怎么实现,很简单 1,搞一个监听 Tv_microblog.setOnClickListener(new View.OnClickL ...
- python跑一亿次循环_python爬虫爬取微博评论
原标题:python爬虫爬取微博评论 python爬虫是程序员们一定会掌握的知识,练习python爬虫时,很多人会选择爬取微博练手.python爬虫微博根据微博存在于不同媒介上,所爬取的难度有差异,无 ...
最新文章
- UICollectionView的基本使用(1)
- 滴滴人脸识别申诉照片怎么拍_滴滴司机理发被停账号,平台规则到底如何遵守才能避免踩坑?...
- Cocos2d-x 截屏功能集成
- HP—UX更改存储设备名
- 沉淀一年零八个月,我也拿到了博客专家
- 常用MIME类型,解决IIS布署后字体文件、mp4视频文件等not found 的错误
- CodeIgniter中的FCKeditor的路径问题
- Python:PyCharm提示“Python version 2.7 does not support a ‘F‘ prefix”
- 每天10个Linux命令三
- ARC097F Monochrome Cat
- 华为服务器voip处理性能,voip云服务器注册状态
- uniapp小程序生成海报图
- php接收post数据 json数据,PHP接收post数据并解析json的简单实例
- 献给七夕|微生物和您的爱情生活
- 松翰单片机--SN8F5702学习笔记(四)ADC
- 遭遇灰鸽子BackDoor.Gpigeon.ymg新变种
- c语言时间换算结构体9,C语言实现时区转换函数的实例
- python是微软开发的吗_Python是如何在微软发展壮大的
- 自学Java笔记2 2021-3-28更
- 如何实现excel服务器的用户管理和认证管理