Python爬虫–个人微博发布的全部照片、视频

1、我们的目标是获取微博某博主的全部图片、视频

Python爬虫--个人微博发布的全部照片、视频

2、拿到网址后 我们先观察 打开F12  随着下滑我们发现加载出来了一个叫mymblog的东西,展开响应发现需要的东西就在里面

Python爬虫--个人微博发布的全部照片、视频

 

3、重点来了!!!

Python爬虫--个人微博发布的全部照片、视频

 

Python爬虫--个人微博发布的全部照片、视频

通过观察发现第二页比第一页多了参数since_id 而第二页的since_id参数刚好在上一页中能获取到,往下翻页同理 第二页带着第三页需要的参数

Python爬虫--个人微博发布的全部照片、视频

4、因为是get请求 接下来就是设置params对下面网址进行请求然后提取bloghttps://weibo.com/ajax/statuses/mymblog

5、不会翻页的我还发现了个简单的方法 不用带since_id参数,只需要给page来个循环也可实现循环 具体如下:
  5.1、把网址设置成这样,

https://weibo.com/ajax/statuses/mymblog?uid=2793306070&page=2&feature=0&since_id=

  5.2、去掉params 具体为啥不带参数也能出来 我也不清楚 反正是发现这么设置url可以实现翻页

 

6、最后看看出来结果(部分照片属于会员可见,但是依然可以拿到高清原图。未显示出来的是因为0擦边严重被微博封了)

Python爬虫--个人微博发布的全部照片、视频

Python爬虫--个人微博发布的全部照片、视频

 

 

 7、具体代码如下

 

 

 1 import requests
 2 
 3 headres = {
 4 '你的': '微博cookie',
 5 'referer': 'https://weibo.com/u/2793306070',
 6 '你的': 'UA',
 7 'x-requested-with': 'XMLHttpRequest',
 8 'x-xsrf-token': '1_g5J4kMvprJh8xD1YgaHWmv'
 9 }
10 
11 shipindizhi = './陈佩琪个人微博视频/'
12 tupiandizhi = './陈佩琪个人微博照片/'
13 n = 1
14 x = 1
15 for g in range(1, 11):
16 url = f'https://weibo.com/ajax/statuses/mymblog?uid=2793306070&page={g}&feature=0&since_id='
17 
18 rsp_fanye = requests.get(url=url, headers=headres).json()
19 since_id = rsp_fanye['data']['since_id']
20 print(since_id)
21 neirong = rsp_fanye['data']['list']
22 # 获得图片(获得文本,有图片获得图片)
23 for i in neirong:
24 text = i['text_raw'].replace('n','')
25 if 'pic_infos' in i:
26 tupian = i['pic_infos']
27 # print(tupian)
28 for j in tupian:
29 # print(j)
30 tupian_url = i['pic_infos'][j]['mw2000'].get('url')
31 # print(tupian_url)
32 pinjie = tupiandizhi + 'tupian_%s' % x + '.' + '.jpg'
33 f = open(pinjie, mode='wb')
34 f.write(requests.get(url=tupian_url).content)
35 x += 1
36 print(pinjie+'图片保存成功!!!')
37 
38 # 获得视频
39 for j in neirong:
40 if 'page_info' in j:
41 shiping = j['page_info']
42 if 'media_info' in shiping:
43 media_info = shiping['media_info']['mp4_720p_mp4']
44 # print(media_info)
45 pinjie = shipindizhi + 'shiping_%s' % n + '.' + '.mp4'
46 f = open(pinjie, mode='wb')
47 f.write(requests.get(url=media_info).content)
48 n += 1
49 print(pinjie+'图片保存成功!!!')

 

 

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python爬虫–个人微博发布的全部照片、视频 - Python技术站

(0)
上一篇 2023年4月2日
下一篇 2023年4月2日

相关文章

  • Python爬虫:爬取华为应用市场全部app信息

    先不着急写程序,先对网站进行分析 目标网址为:https://appgallery.huawei.com/#/Apps  抓取目标为:app名称 包名 和开发公司名 F12检查发现为动态加载        检查完发现为动态加载get请求 设置params循环获取全部数据 代码如下: url = ‘https://web-drcn.hispace.dbankc…

    2023年4月2日
    00
合作推广
合作推广
分享本页
返回顶部