selenium、requests爬取新浪微博高清图片
文章目录
- 案例介绍
- step1:导入必要的包,模拟浏览器打开新浪微博首页
- step2:登录微博账号,进入艾漫数据的微博主页,搜索“全部艺人活跃粉丝榜”
- step3:获取目标图片的url
- step4:获取目标图片,并存入本地
案例介绍
下图红色圈出的图片就是我们想要爬取的。全部艺人活跃粉丝榜每天更新一次,然后还有周榜和月榜,本例中,我们只需要日榜。
把图片点开之后,就会显示高清图片了,这里我们最好爬取高清的。
step1:导入必要的包,模拟浏览器打开新浪微博首页
from selenium import webdriver
import time
import requests
url = 'https://weibo.com/'
driver = webdriver.Chrome("C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe")
driver.get(url)
step2:登录微博账号,进入艾漫数据的微博主页,搜索“全部艺人活跃粉丝榜”
step3:获取目标图片的url
pic_urls = []
for page in range(10): #抓取10个页面的信息for xiala in range(3): #执行3次页面下拉(为什么要执行页面下拉?因为页面经过下拉之后会显示更多的信息)driver.execute_script('window.scrollTo(0,document.body.scrollHeight)') time.sleep(2) #每次下拉之后暂停两秒(即给模拟的浏览器2秒的缓冲时间(加载出下拉页面))whole_mes = driver.find_elements_by_xpath('//div[@class = "WB_detail"]') #一个页面的所有微博for i in range(len(whole_mes)):if '全部艺人活跃粉丝榜' in whole_mes[i].text: #选出符合条件的微博url = whole_mes[i].find_element_by_xpath('.//img').get_attribute('src')url = url.replace('orj360','mw690') #经观察发现,url含orj360的图片较为模糊,换成mw690之后就是高清图了if len(url)==65: #经观察发现,根据‘全部艺人活跃粉丝榜’这个条件筛选出来的微博中,有几条是我们不需要的(这几条是周榜和月榜的,而我们需要的是日榜),这几条的url都大于65,所以我们可以根据这一情况,把这几条微博过滤掉pic_urls.append(url)driver.find_element_by_xpath('//a[@class="page next S_txt1 S_line1"]').click() #执行 点击"下一页" 的操作time.sleep(2) #给模拟浏览器2秒的加载时间if page%4==0:time.sleep(15) #暂停15秒,因为爬虫的速度一般都比较快,所以操作会比较频繁。#如果不暂停一下,很容易被新浪察觉出是爬虫在模拟人而不是人的实际操作。
可以看到,如果不把图片点开(即非高清图时),图片链接为右边红色圈起来的这块:
如果把图片点开(即高清图),图片的链接就是下图右边红色圈起来这块:
对比上面两个链接,可以发现,高清图片就是把非高清链接中的orj360换成了mw690.
step4:获取目标图片,并存入本地
headers = {'User-Agent': 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Mobile Safari/537.36'}
for i in range(len(pic_urls)):response = requests.get(pic_urls[i],headers=headers)with open('./pic/{}.jpg'.format(i),'wb') as f: #将每张图片以jpg格式存入pic文件夹中f.write(response.content)
selenium、requests爬取新浪微博高清图片相关推荐
- python利用bs4爬取外国高清图片网站
python利用bs4爬取外国高清图片网站 爬取高清图片 爬取高清图片 import re import requests from bs4 import BeautifulSoup import o ...
- python按关键字爬取必应高清图片
通过查询前人的博客,发现必应可通过url按关键字查找图片: https://www.bing.com/images/async?q=查询关键字&first=图片编号&count=图片数 ...
- 简易爬虫教程爬取4K高清图片
1.1 网址 # 谷歌浏览器http://www.netbian.com/weimei/ 1.2 查看网页源代码 # 1 直接获取会遇到防火墙,添加verify=False去掉安全认证# 2 resp ...
- 【Python网络爬虫实战篇】使用selenium+requests爬取下载高清源视频:关于爬取m3u8文件链接解析为ts视频合并成mp4视频的分析实战
这两天博主在摸鱼时,偶然间接触到了流媒体的概念,一时间来了兴致.再加上之前博主有着七.八年的视频制作经验,深知视频素材获取的不易.因此,打算利用自己所学的python网络爬虫的知识,通过编写代码实现获 ...
- python爬虫爬取海量高清图片,小白都能学习的简单操作
正文 目标网站divinl 首先看看这网站是怎样加载数据的; 打开网站后发现底部有下一页的按钮,ok,爬这个网站就很简单了; 日文的 我们目标是获取每张图片的高清的源地址,并且下载图片到桌面; 先随便 ...
- Python爬虫入门-python之爬取pexels高清图片
先上张图片: 首先打开网址:https://www.pexels.com/,然后下来会发现下面的图片是慢慢的加载出来的,也就是通过Ajax请求得到的.在搜索框中输入关键字:beauty,打开F12,刷 ...
- 爬虫爬取大量高清壁纸图片
爬虫爬取大量高清壁纸 思路: 首先从网页入手,观察网页整体结构,因为本段代码使用的是Xpath解析(想了解Xpath解析可以看上一篇) import requests from lxml import ...
- Python爬虫从入门到精通:(9)数据解析_xpath解析2_爬取4K高清动漫图片_Python涛哥
使用xpath爬取4K高清动漫图片名称和图片数据 爬取当前页: # 创建文件夹 存储图片 dirName = 'GirlsLib' if not os.path.exists(dirName):os. ...
- 全网最细------爬取4k高清大图
本次案例将教大家免费爬取4k高清大图,即使你是爬虫新手,也可以食用本次文章实现你的免费下载梦,话不多说,先看效果 网站视图: 看到这些图片你是否怦然心动,跟着我一起看下去. 一.思路分析 首先最基本的 ...
最新文章
- ASP3.0给我们带来的新技术之一---DataShaping技术
- php foreach next,foreach next 操作数组指针移动问题,多个数连加,连除,连减,连乘php版本...
- 基于轻量型Web服务器Raspkate的RESTful API的实现
- Android ViewPropertyAnimator 属性动画概述
- ios捕捉键盘view
- 我们来判断一个php函数是否被定义
- Node.js 提升运行效率
- Python调用执行Linux系统命令(四种方法)
- js实现批量打印工资条,后台采用java开发(项目总结篇)
- Windows快捷键
- linux下大文件分割
- python windows api截图_Python调用windows API实现屏幕截图
- 安卓笔记-视频版(还没学完)
- 自制Java大学英语四级成绩计算器
- Octave是什么,以及Octave online的使用(相当于open source的matlab)
- golang cpuprofile分析
- Android SQLite 数据库存储
- 尽信书不如无书之获取枚举值代码优化
- BZOJ 2140: 稳定婚姻 tarjan
- 世上万事,不过是一懒二拖三不读书
热门文章
- 04 将Jenkinsfile放在gitlab
- 自动跳转代码与自动弹出网页代码
- 戴尔G3-3579改固态散热
- 布隆的盾能挡机器人_怎样玩好蒸汽机器人?
- 随笔散文:关于北京的重度雾霾想到的
- CAD无法正常启动[acadiso.dwt加载卡死]解决办法与问题排除思路分享--以CAD2014版本情况为例
- 大数据交易市场崛起,隐私计算助力产业链数字化转型|算力智库隐私专栏
- Ios html5 dplayer,H5播放HLS之DPlayer播放
- 圆柱绕流UDF-parallel主动运动
- 中国大学moocpython笔记_中国大学MOOC慕课用Python玩转数据章节答案