爬虫------爬取搜狗图片
一、单线程
# author:WN
# datetime:2019/10/30 9:07
import requests
import redef image_urls():search_name = input("请输入你要搜索的图片:")search_num = int(input("一页有48张图片,需要几页:"))# url存放的总列表all_urls = list()headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.120 Safari/537.36',}# query参数的值是要搜多的图片名,start参数的值是图片开始的下标for i in range(0, search_num*48, 48):url = 'https://pic.sogou.com/pics?query={0}&mode=1&start={1}&reqType=ajax&reqFrom=result&tn=0'.format(search_name, i)response = requests.get(url, headers=headers)url_list = re.findall('"thumbUrl":"(.*?)"', response.text)# 输入的关键字没有寻找到图片时if len(url_list) == 0:print("没有图片!")all_urls.extend(url_list)download(all_urls, headers)def download(url_list, headers):count = 0for url in url_list:response = requests.get(url, headers=headers)with open('E:/搜狗图片/%s.jpg' % count, 'ab') as f:f.write(response.content)count += 1if __name__ == '__main__':image_urls()
二、多线程
# author:WN
# datetime:2019/10/30 9:07
import requests
import re
import threadingthreads = list()def image_urls():search_name = input("请输入你要搜索的图片:")search_num = int(input("一页有48张图片,需要几页:"))# 保存的图片名count = 0# url存放的总列表all_urls = list()headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.120 Safari/537.36',}# query参数的值是要搜多的图片名,start参数的值是图片开始的下标for i in range(0, search_num*48, 48):url = 'https://pic.sogou.com/pics?query={0}&mode=1&start={1}&reqType=ajax&reqFrom=result&tn=0'.format(search_name, i)response = requests.get(url, headers=headers)url_list = re.findall('"thumbUrl":"(.*?)"', response.text)# 输入的关键字没有寻找到图片时if len(url_list) == 0:print("没有图片!")all_urls.extend(url_list)for img_url in all_urls:t = threading.Thread(target=download, args=(img_url, headers, count))# 设置为后台线程,不会随主线程的结束而结束t.setDaemon(False)t.start()count += 1threads.append(t)def download(url, headers, count):response = requests.get(url, headers=headers)with open('E:/搜狗图片/%s.jpg' % count, 'ab') as f:f.write(response.content)if __name__ == '__main__':image_urls()# 阻塞主线程for j in threads:j.join()
爬虫------爬取搜狗图片相关推荐
- 使用python爬虫爬取搜狗图片无法获得图片网址
错误原因 找页面网址时:我是打开一张图片,从上方搜索栏复制的,然后发现了规律 xxxx#did=0 这个0一直往后增加,我把它作为页面规律.试验了一下,这些网址能进入到对应的图片. 然后打开了F12, ...
- 爬虫实践:爬取搜狗图片
前言 本文中,将通过爬取搜狗图片为例,分析Ajax请求来抓取网页数据 (通过传入关键字,已达到爬取不同类型图片的目的) AJAX引擎其实是一个JavaScript对象,全写是 window.XMLHt ...
- node:爬虫爬取网页图片 1
代码地址如下: http://www.demodashi.com/demo/13845.html 前言 周末自己在家闲着没事,刷着微信,玩着手机,发现自己的微信头像该换了,就去网上找了一下头像,看着图 ...
- 小爬虫爬取小猫咪图片并存入本地文件夹
小爬虫爬取小猫咪图片并存入本地文件夹 本人是安徽工业大学电气与信息工程学院研一学生,最近还不能开学真的是很糟心哦,由于自己比较笨吧,起步较晚还要忙着学习机器学习还有计算机视觉,但是总学这个感觉很闷也没 ...
- python爬虫——爬取搜狗影视热门电视剧
python爬虫--爬取搜狗影视热门电视剧 1.结果图 2.这次爬取的网址请点击传送门 搜狗影视热门电视剧 3.先构建请求头,请求头直接复制过来 4.接下来先请求这条url,通过format方法实现对 ...
- python爬取搜狗图片
python爬取搜狗图片 cond(`""" 对于动态加载的网站图片的获取,我们需要去分析js内容一定要让网页发生加载后去分析,分析network 里的XHR,可以看到需 ...
- 进军Json,以战养战 -- 爬取搜狗图片代码分析
爬取搜狗图片代码分析 代码 代码功能 代码 代码解析 总结 代码 代码功能 从搜狗网页下载 n 张指定分类的图片并保存到指定的文件夹. 代码 # 导入相关的库 import requests impo ...
- python爬虫,爬取下载图片
python爬虫,爬取下载图片 分别引入以下三个包 from urllib.request import urlopen from bs4 import BeautifulSoup import re ...
- Python爬虫实战 | (9) 爬取搜狗图片
本篇博客我们将爬取百度图片,输入搜索词,爬取与搜索词相关的图片. 首先打开搜狗图片https://pic.sogou.com/,比如搜索"猫",此时的URL如下: https:// ...
最新文章
- 正则数字和小数点_Python中的正则表达式【不断补充~】
- Voyage 联合创始人目击苹果无人车,推测其计算堆栈集成在传感器中
- leetcode256. 粉刷房子
- python数组排序sort_详解python中sort排序使用
- python子类继承父类属性实例_Python实现子类调用父类的初始化实例
- 0.IT-解决方案-0-VOIP
- 大数据如何更好进行分析
- 基于Scrapy的IP代理池搭建
- 关于ABA问题(隔壁老王问题)
- 微信js 已经填写JS接口安全域名了,仍然报invalid url domain
- 简单使用萤石云,实时直播,监控回放
- python3保存的npy文件,python2无法读取的可能解决方案。
- andriod写计时器
- 《计算机组成原理》— 计算机组成原理(一)
- AspectJ 学习笔记
- redis数据库的下载安装/免安装版
- SSL应用系列之三:CA证书颁发机构(中心)安装图文详解
- 计算机学科技术前沿:集体智慧常用的算法与算法的含义
- RuntimeError: Input type (torch.cuda.FloatTensor) and weight type (torch.FloatTensor) should be the
- 光场视差与深度的关系(lytro深度计算公式)