Python新手爬虫二:爬取搜狗图片(动态)
经过上一期爬取豆瓣影评成功后,感觉爬虫还不错,于是想爬点图片来玩玩...
搜狗图片地址:https://pic.sogou.com/?from=category
先上最后成功的源码(在D盘下创建souGouImg文件夹,直接直接代码即可获取):
import requests
import urllib
import json
from fake_useragent import UserAgent def 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 BeautifulSoup
import requests
from 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} #设置UA
f = 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,问题也就变得简单了。详情还是请看代码注释吧~
Python新手爬虫二:爬取搜狗图片(动态)的更多相关文章
- 第三百三十节,web爬虫讲解2—urllib库爬虫—实战爬取搜狗微信公众号—抓包软件安装Fiddler4讲解
第三百三十节,web爬虫讲解2—urllib库爬虫—实战爬取搜狗微信公众号—抓包软件安装Fiddler4讲解 封装模块 #!/usr/bin/env python # -*- coding: utf- ...
- 【python爬虫】爬取美女图片
一,导入包文件 os:用于文件操作.这里是为了创建保存图片的目录 re:正则表达式模块.代码中包含了数据处理,因此需要导入该模块 request:请求模块.通过该模块向对方服务器发送请求获取数据包 l ...
- java爬虫-简单爬取网页图片
刚刚接触到“爬虫”这个词的时候是在大一,那时候什么都不明白,但知道了百度.谷歌他们的搜索引擎就是个爬虫. 现在大二.再次燃起对爬虫的热爱,查阅资料,知道常用java.python语言编程,这次我选择了 ...
- 九 web爬虫讲解2—urllib库爬虫—实战爬取搜狗微信公众号—抓包软件安装Fiddler4讲解
封装模块 #!/usr/bin/env python # -*- coding: utf-8 -*- import urllib from urllib import request import j ...
- Python学习 —— 爬虫入门 - 爬取Pixiv每日排行中的图片
更新于 2019-01-30 16:30:55 我另外写了一个面向 pixiv 的库:pixiver 支持通过作品 ID 获取相关信息.下载等,支持通过日期浏览各种排行榜(包括R-18),支持通过 p ...
- python爬虫之爬取百度图片
##author:wuhao##爬取指定页码的图片,如果需要爬取某一类的所有图片,整体框架不变,但需要另作分析#import urllib.requestimport urllib.parseimpo ...
- 初识python 之 爬虫:爬取某网站的壁纸图片
用到的主要知识点:requests.get 获取网页HTMLetree.HTML 使用lxml解析器解析网页xpath 使用xpath获取网页标签信息.图片地址request.urlretrieve ...
- python网络爬虫《爬取get请求的页面数据》
一.urllib库 urllib是python自带的一个用于爬虫的库,其主要作用就是可以通过代码模拟浏览器发送请求.其常被用到的子模块在python3中的为urllib.request和urllib. ...
- 利用python的爬虫技术爬取百度贴吧的帖子
在爬取糗事百科的段子后,我又在知乎上找了一个爬取百度贴吧帖子的实例,为了巩固提升已掌握的爬虫知识,于是我打算自己也做一个. 实现目标:1,爬取楼主所发的帖子 2,显示所爬去的楼层以及帖子题目 3,将爬 ...
- python网络爬虫--简单爬取糗事百科
刚开始学习python爬虫,写了一个简单python程序爬取糗事百科. 具体步骤是这样的:首先查看糗事百科的url:http://www.qiushibaike.com/8hr/page/2/?s=4 ...
随机推荐
- 什么是RDD
RDD(Resilient Distributed Dataset)叫做弹性分布式数据集RDD,是Spark中最基本的数据抽象,它代表一个不可变.可分区.里面的元素可并行计算的集合.RDD具有数据流模 ...
- 一次Java服务内存过高的分析过程
现象 年前,收到了短信报警,显示A服务的某台机器内存过高,超过80% 如上图所示,内存会阶段性增加.奇怪的是,十多台机器中只有这一台有这个问题 堆内内存分析 最先怀疑是内存泄漏的问题,所以首先使用jm ...
- 动手学Avalonia:基于硅基流动构建一个文生图应用(一)
文生图 文生图,全称"文字生成图像"(Text-to-Image),是一种AI技术,能够根据给定的文本描述生成相应的图像.这种技术利用深度学习模型,如生成对抗网络(GANs)或变换 ...
- 通俗讲解promise
JavaScript 中的 Promise 是一种特殊的对象,它用于解决异步编程中的复杂性问题,特别是回调的问题.我们可以把它比喻成现实生活中的一个"承诺": 想象一下,你 ...
- Odoo 通过Javascript调用模型中自定义方法
实践环境 Odoo 14.0-20221212 (Community Edition) 代码实现 在js脚本函数中调用模型中自定义方法: this._rpc({ model: 'demo.wizard ...
- nats 简介和使用
nats 简介和使用 nats 有 3 个产品 core-nats: 不做持久化的及时信息传输系统 nats-streaming: 基于 nats 的持久化消息队列(已弃用) nats-jetstre ...
- hbuilderx+香蕉云编生成ios证书和上架教程
现在很多公司都使用uniapp作为底层框架来开发app应用,而uniapp的开发工具hbuilderx云打包的时候,需要证书和证书profile文件. 假如是ios应用,则还需要上架到appstore ...
- web3 产品介绍: safe --多签钱包 多人审批更放心
Safe是一款由Gnosis团队开发的多签钱包,它提供了一种安全.灵活和易于使用的方式来管理加密资产.在本文中,我们将介绍Safe的主要特点以及如何使用Safe来保护您的数字资产. 一.Safe的特点 ...
- 使用AI模型替代工业仿真过程
引自: https://www.zhihu.com/question/641951284/answer/3384531468 使用AI模型替代工业仿真,如:CAE,等等,进行仿真环境的求解运算.
- TensorFlow图像预处理函数
预处理图像 文件名: cat.jpg 读取.打印图片 import matplotlib.pyplot as plt import tensorflow as tf import nump ...