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爬虫--爬取微博指定用户主页下的所有图片相关推荐

  1. 爬一个人的所有微博 python_pyhton爬虫爬取微博某个用户所有微博配图

    前几天写了个java爬虫爬花瓣网,但是事后总感觉不够舒服,终于在今天下午写了个python爬虫(爬微博图片滴),写完之后就感觉舒服了,果然爬虫就应该用python来写,哈哈(这里开个玩笑,非引战言论) ...

  2. 【微博简易爬虫】Python获取指定微博用户的发布文本

    一.背景&目的 心理学专业在读,又一心做一些和数据科学相关的项目,于是选择了基于微博的焦虑和抑郁识别作为毕设项目,开始从数据获取到处理建模到调参的全过程.院里和指导老师都非常在乎数据隐私问题, ...

  3. python抓取微博评论的图片_用Python语言爬虫抓取微博评论图文教程

    提交Cookie信息模拟微博登录 需要爬取登录之后的信息,大家都是望而止步,不要担心,今天呢,给大家提供一个超级简单的方法,就是提交Cookie信息登录微博,首先,我们找到某明星的微博网址:http: ...

  4. python爬去智联招聘网_Python爬虫爬取智联招聘(进阶版)

    点击上方"程序人生",选择"置顶公众号" 第一时间关注程序猿(媛)身边的故事 图片:Westworld Season 2 作者 王强 简介 Python追随者, ...

  5. 360软件管家怎么下载python_python 爬虫爬取360安全卫士对某一个号码的标识

    手机客户端通常会安装了一些类似360安全卫士,手机安全卫士等等诸如此类的软件,这些软件可以标识过滤一些电话号码是诈骗电话.骚扰电话或广告推销............ 由于公司是线商业务,很多号码配置给 ...

  6. python爬去百度百科词条_python简单爬虫爬取百度百科python词条网页

    目标分析: 目标:百度百科python词条相关词条网页 - 标题和简介 入口页:https://baike.baidu.com/item/Python/407313 URL格式: - 词条页面URL: ...

  7. 微博数据爬虫——V影响力榜top100用户(一)

    1.分析网页结构 网页链接如下:https://v6.bang.weibo.com/czv/domainlist?date=202103&period_type=month 可使用选择器提取b ...

  8. Android:打开手机微博app,跳转至指定用户页面用于关注

    文章内容如标题 先看一下实现效果: 跳转至微博 好了,我来说一下这个怎么实现,很简单 1,搞一个监听 Tv_microblog.setOnClickListener(new View.OnClickL ...

  9. python跑一亿次循环_python爬虫爬取微博评论

    原标题:python爬虫爬取微博评论 python爬虫是程序员们一定会掌握的知识,练习python爬虫时,很多人会选择爬取微博练手.python爬虫微博根据微博存在于不同媒介上,所爬取的难度有差异,无 ...

最新文章

  1. UICollectionView的基本使用(1)
  2. 滴滴人脸识别申诉照片怎么拍_滴滴司机理发被停账号,平台规则到底如何遵守才能避免踩坑?...
  3. Cocos2d-x 截屏功能集成
  4. HP—UX更改存储设备名
  5. 沉淀一年零八个月,我也拿到了博客专家
  6. 常用MIME类型,解决IIS布署后字体文件、mp4视频文件等not found 的错误
  7. CodeIgniter中的FCKeditor的路径问题
  8. Python:PyCharm提示“Python version 2.7 does not support a ‘F‘ prefix”
  9. 每天10个Linux命令三
  10. ARC097F Monochrome Cat
  11. 华为服务器voip处理性能,voip云服务器注册状态
  12. uniapp小程序生成海报图
  13. php接收post数据 json数据,PHP接收post数据并解析json的简单实例
  14. 献给七夕|微生物和您的爱情生活
  15. 松翰单片机--SN8F5702学习笔记(四)ADC
  16. 遭遇灰鸽子BackDoor.Gpigeon.ymg新变种
  17. c语言时间换算结构体9,C语言实现时区转换函数的实例
  18. python是微软开发的吗_Python是如何在微软发展壮大的
  19. 自学Java笔记2 2021-3-28更
  20. 如何实现excel服务器的用户管理和认证管理

热门文章

  1. 双11开场10秒即爆单,360亿方云如何助力电商企业高效协同
  2. [转载]蝈蝈学拳笔记-7-9-吴式太极-玉女穿梭等
  3. ormlite android,如何使用ormLite在android中的现有实体中添加新字段?
  4. AKS 中使用 ECR
  5. 要不要我教你如何提取出视频的伴奏
  6. [python] 类 - 面向对象的编程
  7. 算法与程序设计—哥德巴赫猜想
  8. 颉一软件查理:数据变现,始于流通
  9. 微信小程序登录获取Token以及微信支付
  10. 面试经常问的问题:线性电源VS开关电源