打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Python新手爬虫二:爬取搜狗图片(动态)

经过上一期爬取豆瓣影评成功后,感觉爬虫还不错,于是想爬点图片来玩玩...

搜狗图片地址:https://pic.sogou.com/?from=category

 

先上最后成功的源码:

import requestsimport urllibimport jsonfrom fake_useragent import UserAgentdef getSougouImag(category,length,path):    n = length    cate = category    imgs_url = []   #定义空列表,用于保存图片url    m = 0   #用于显示图片数量    url = 'https://pic.sogou.com/pics/channel/getAllRecomPicByTag.jsp?category='+cate+'&tag=%E5%85%A8%E9%83%A8&start=0&len='+str(n)    headers = {'user-agent':UserAgent().random}     #设置UA    f = requests.get(url,headers=headers)      #发送Get请求    print(f.status_code)    js = json.loads(f.text)    js = js['all_items']    for j in js:        imgs_url.append(j['thumbUrl'])    for img_url in imgs_url:        print('***** '+str(m)+'.jpg *****'+' Downloading...')        urllib.request.urlretrieve(img_url,path+str(m)+'.jpg')    #下载指定url到本地        m += 1    print('Download complete!')getSougouImag('壁纸',500,r'D:\souGouImg/')

效果图:

 

下面开始介绍作为一个新手的爬虫步骤...

1、首先打开网页查看HTML源码

先按F12打开调试界面—>右击图片—>点击检查

会出现如下图红框中的信息,不难看出,此图片的url就是img标签中src属性的值。

 

如此简单?那直接获取src属性的值,再进行下载不就完全ok了?

话不多说,开干。

from bs4 import BeautifulSoupimport requestsfrom fake_useragent import UserAgent   #ua库url = 'https://pic.sogou.com/pics/recommend?category=%B1%DA%D6%BD&from=home#%E5%85%A8%E9%83%A8%269'headers = {'user-agent':UserAgent().random}     #设置UAf = requests.get(url,headers=headers)      #发送Get请求print(f.status_code)    #打印状态码soup = BeautifulSoup(f.text,'lxml')     #用lxml解析器解析该网页的内容print(soup.select('img'))   #筛选出所有img的标签,并打印其属性和内容

代码执行结果如下:

发现打印出的html并不是与网页中的一致,所有考虑,这根本不是图片的源url,于是推测图片是动态的,继续查找... 也是百度到了某个大佬的文章,才挖掘出以下搜寻方法。

 

2、点击NetWork—>点击XHR—>然后往下滚轮,使它加载出新的图片—>点击新加载出来的图片—>再点击右侧的Preview

 发现Preview下的内容为json格式的

发现all_items,点击它发现有0.....众多数字,再点开发现有许多url,粘贴到浏览器中查看,发现这些都是图片的url(心中狂喜)

找到图片的真实URL,问题也就变得简单了。详情还是请看代码注释吧~

https://www.cnblogs.com/v-fan/p/12503094.html

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
16 行 Python 代码批量抓取高清图片!
Python爬取某网站文档数据完整教程(附源码)
python带你采集各种表情包,做群里最靓的崽~
python爬虫实例 | 自定义爬取百度美女图片并保存到本地,可自定义爬取图片类型、图片数量、保存路径等(超详细直接使用)
普通爬虫vs多线程爬虫vs框架爬虫,Python爬对比
python自动下载图片
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服